我正在用 K&R 自学 C,并被书中的一个例子难住了。我完全按照示例中编写的方式编译代码,但它并没有按照作者所说的那样进行。该程序应该计算字符。给出的代码如下:
#include <stdio.h>
/* count characters in input; 1st version */
main()
{
long nc;
nc=0;
while (getchar() != EOF)
++nc;
printf("%ld\n", nc);
}
为了编译,我将 main() 替换为 int main()。但我认为这与问题无关。该程序编译并运行良好。但它根本不计算字符,因为它是写的。我错过了什么吗?自从本书编写以来,现代编译器处理此类代码示例的方式是否发生了变化?此留言板上的好人可能能够提供的任何帮助将不胜感激。
最好的,丹