可能重复:
EndOfFile in C - EOF
我正在尝试K& R的例子。除非按下ctrl+c
,否则我无法理解为什么此代码不会退出。
int main ( )
{
int c;
c = getchar();
while(c!=EOF)
{
putchar(c);
c=getchar();
}
}
感谢任何帮助。谢谢!
编辑:使用Windows(Visual Studio 2010)
答案 0 :(得分:8)
在Windows中,通过按 Ctrl + Z 从标准输入流生成文件结尾。根据缓冲行为,您可能还需要按返回。
答案 1 :(得分:5)
EOF是文件结束。如果您从“键盘”中读取,则应与“行结束符号”进行比较,该符号等于按“返回”
int main ( )
{
int c;
c = getchar();
while(c!= '\n')
{
putchar(c);
c=getchar();
}
}
答案 2 :(得分:-1)
On Windows machine ctrl+c acts as delimiter of character scanning same as EOF
on this loop gets broken otherwise it will keep looking for characters