0

可能重复:
C 中的 EndOfFile - EOF

我正在尝试来自 K&R 的示例。我无法理解为什么除非ctrl+c按下此代码才会退出。

int main ( )
{
    int c; 
    c = getchar(); 
    while(c!=EOF)
        {
            putchar(c);   
            c=getchar();
        }
}

任何帮助表示赞赏。谢谢!

编辑:使用 Windows (Visual Studio 2010)

4

3 回答 3

8

在 Windows 中,您可以通过按Ctrl+从标准输入流生成文件结尾Z。根据缓冲行为,您可能还需要按Return

于 2012-09-17T12:07:23.913 回答
5

EOF 是文件结束。如果您从“键盘”读取,则应与等于按回车键的行尾符号进行比较

int main ( )
{
    int c; 
    c = getchar(); 
    while(c!= '\n')
    {
        putchar(c);   
        c=getchar();
    }
}
于 2012-09-17T12:06:03.063 回答
-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
于 2012-09-17T12:14:45.003 回答