我使用scanf是因为我们必须使用它。 问题如下: (这只是问题的一个例子):
int main() {
char ch [10]={0};
scanf("%s",ch);
printf("%s",ch);
}
如果我运行程序并输入例如:word ^ Z. 当^ Z是EOF时。 程序保持原位,卡在scanf中,althogh我输入了word然后按ctrl + z然后回车。但不知何故,它停留在scanf中,与重定向相同,就像它不是ctr + z或其他任何问题一样。
我希望我能得到一些帮助
提前谢谢, 完全适用它:)答案 0 :(得分:2)
scanf
使用空格作为分隔符将读取的数据存储到各个字段中。从命令行输入 Control Z ,然后 Enter 仅将EOF
字符放入输入流和{{1}继续等待空白。如果再次按 Enter ,scanf()
将收到空白字符,包括scanf
在内的所有内容都将存储到EOF
数组中。
这是一个样本运行。第一行是输入,第二行是输出。
ch