k& R,getchar如何读取EOF

时间:2011-03-29 13:22:00

标签: c getchar

从k& r读书时,我遇到了以下示例

#include<stdio.h>
int main()
{
int c;
while((c=getchar())!=EOF)
{
    putchar(c);
}
printf("hello");
}
怀疑1:当我输入字符ctrl + z(我的系统上的EOF)时。 o / p是你好的 但是当我输入字符串如abcdef ^ Zghijk
时 o / p是abcdef-&gt;(包括箭头)并等待用户输入i / p而不是终止循环并打印你好..

1 个答案:

答案 0 :(得分:5)

ctrl+z不是EOF,它只是一种告诉终端关闭流的方法。

在Windows系统上,您需要将ctrl+z写为该行的第一个字符,否则终端会将其视为普通字符。