Possible Duplicate:
Why doesn't getchar() recognise return as EOF in windows console?
我是 C 语言新手,正在尝试弄清楚 EOF 和 getChar() 是如何工作的。
#include <stdio.h>
main()
{
int number = 0;
while(getchar() != EOF)
number++;
printf("%d", number);
}
当我输入一些随机字符时,程序不会执行任何操作,我认为它永远不会脱离 while 循环。这是为什么?我在 Windows 7 上使用 CodeBlocks。
最佳答案
因为您没有发送 EOF
字符。 “EOF”代表“文件结束符”;控制台输入(称为“标准输入”)是文件的一种特殊情况。但为了表示这个特殊文件已经结束,需要发送一个特殊的信号。在 Windows 上,您可以通过按 Ctrl+Z(由于某种原因,然后按 Enter)来获得此效果。
关于c - 在 C 中使用 EOF 和 getchar() 进行字符计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10900064/