变量的声明和赋值在 K&R 中的不同行是否有原因?

laf*_*ffy 1 c variable-declaration

我开始阅读The C Programming Language,我注意到变量的声明和它们的分配在不同的行上。例如,从第 16 页开始:

int c;
c = getchar();
Run Code Online (Sandbox Code Playgroud)

int c = getchar();没有不写的原因(一般来说,为什么赋值和声明不在同一行)?当我运行它而不是前者时,它似乎工作正常。

kjh*_*a68 5

如果您正在阅读本书的第二版,请参阅第 86 页。

实际上,自动变量的初始化只是赋值语句的简写。喜欢哪种形式在很大程度上取决于品味。我们通常使用显式赋值,因为声明中的初始值设定项更难看到并且离使用点更远。