我目前正在阅读Ritchie&Kernighan撰写的《 C编程语言》一书。对于getchar()
函数中EOF的使用,我感到很困惑。
首先,我想知道为什么EOF的值为-1,为什么EOF的值为getchar()!=EOF
0。请原谅我的问题,但我真的不明白。我确实尝试过,但不能。
然后,我尝试在书上运行可以使用以下代码计数字符数的示例,但即使按回车键,我也似乎永远不会循环,所以我想知道何时到达EOF?
main(){
long nc;
nc = 0;
while (getchar() != EOF)
++nc;
printf("%ld\n", nc);
}
然后,我在C中的EOF问题中阅读了相同的问题。大多数人建议不要使用EOF,而应使用终止符\ n或空终止符'\ 0',这很有意义。
这是否意味着书中的示例还有其他目的?