我正在阅读 K&R 的第 2 版,我被这个看似简单的例子难住了:
#include <stdio.h>
main(){
double c;
for(c = 0; ((getchar() != EOF) && (getchar() != '\n')); ++c)
;
printf("%.0f\n",c);
}
它根本无法正常工作。我在(getchar() != '\n')
按 Enter 键时添加了结束程序的部分,但这也无济于事。
这是一些示例输出,使用的gcc
是 Mac OSX 10.6 开发工具附带的。
pool-000:Desktop user$ ./a.out
a
0
pool-000:Desktop user$ ./a.out
asdf
2
pool-000:Desktop user$ ./a.out
asfasf
3
所以很明显有些不对劲。我在第 18 页,如果有帮助的话。这不是作业,这是为了好玩!
谢谢 :)