C Programing Language里字符计数的代码是不是有歧义
程序代码:
#include <stdio.h> /* 统计输入的字符数; 版本1 */ main() { long nc; nc = 0; while (getchar() != EOF) ++nc; printf("%ld", nc); }
最后得到的程序输入几个字符,如“abcsd”并回车
结果没有任何反应
据说是因为‘回车’也!= EOF
才导致的无法正常结束循环
不过众说纷纭,希望有人能详细解释一下错误的原因和EOF的一些细节
[此贴子已经被作者于2017-4-25 23:29编辑过]