C语言 为什么我必须按CTRL + Z 3次才能发送EOF ?


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

无论如何输入,我必须键入CTRL + Z三次才能打印sum

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

f 文件的EO是它所表示的,并且是一种方便的方式来表示它而不需要记住它的实际值。

按Ctrl + Z会根据不同的系统导致不同的行为。在Linux系统上,它挂起一个进程。在Windows上,它被内核解释为Undo命令。它在Mac操作系统上没有任何行为,并取代CMD + Z,其功能类似于Windows的Ctrl + Z。

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

最新更新