提问人:mdjukan 提问时间:12/16/2021 最后编辑:A Mmdjukan 更新时间:12/16/2021 访问量:83
发送EOF后无法读取任何内容?
Can't read anything after sending EOF?
问:
#include <stdio.h>
int main()
{
char c = getchar(); //EOF (ctrl + d )
while( ( c = getchar() ) != '?' )
{
printf( "%d\n", c == EOF );//infinite loop printing 1
}
}
这里会发生什么?
就好像EOF完全阻止了之后的任何内容的读取?
答:
7赞
kaylum
12/16/2021
#1
您需要调用 clearerr on 来清除 EOF。另外,请注意,返回 an 而不是 a,因为不适合 char。stdin
getchar
int
char
EOF
评论
char c = getchar();
getchar()
int
char
. So, start by