所以我根据C语言的书建立了一个非常基本的程序,但是当我运行它时,它会在我输入一个之后继续询问输入,循环应该在没有输入时结束,对吗?还是我错了?为我糟糕的英语道歉
int main()
{
long nc;
nc = 0;
while ( getchar() != EOF) {
++nc;
}
printf("%ld\n", nc);
}发布于 2014-03-07 00:59:07
您的循环期望EOF字符终止,而不仅仅是一个空字符串。*nix控制台通常将空行上的Ctrl-D翻译为EOF,在Windows中,我相信它是Ctrl-Z,但我可能错了。
发布于 2014-03-07 01:00:45
不是的。
对于标准输入,必须手动输入EOF。它是Windows中的Ctrl+Z,Linux中的Ctrl+D。
如果您正在使用Linux并从文件重定向标准输入。一切都会结束。
https://stackoverflow.com/questions/22239367
复制相似问题