为什么我必须键入CTRL + Z 3次才能发送EOF?

时间:2015-10-10 23:18:40

标签: c visual-studio-2015 scanf eof

int x, sum=0;
while(scanf_s("%d", &x) != EOF) 
{
    sum += x;  
}
printf("sum is %d", sum);
return 0;

无论输入如何,我必须输入 CTRL + Z 三次才能打印sum。我正在使用VS 2015。

1 个答案:

答案 0 :(得分:-2)

EOF是一个特殊的常量,只有在从文件读取时才能使用,以检查文件的结尾

E O f F ile是它所代表的,并且是一种方便的方式来表示它而不记住它的实际值是

按Ctrl + Z会导致不同的行为,具体取决于系统。在Linux系统上,它会暂停进程。在Windows上,它被内核解释为撤消命令。它在Mac OS上没有任何行为,并且取代了CMD + Z,其功能与Windows Ctrl + Z类似。

scanf_s返回int,即从输入中读取的字符数。