我有C ++的经验,所以我不应该理解这一点,但我想是的。我从K& R" C编程语言"中学习C语言。我正在从第1章第18页开始执行此示例,该示例位于页面底部。
#include <stdio.h>
int main(){
double nc;
for(nc = 0; getchar() != EOF; ++nc)
;
printf("%.0f \n", nc);
return 0;
}
我正在从键盘重定向输入,而不是从文本文件中读取(使用&#39;&lt;&#39;运行a.out时),文本文件中没有任何内容,甚至没有换行符。
程序打印1.不应该是0吗?是否有正在阅读的字符不是EOF值?或者是for循环执行其内容一次,然后递增1,然后检查条件?
感谢您的帮助!