(初学C语言的萌新,有问题希望大佬不吝赐教!)
EOF是End Of File的缩写,一般是文件结束的标志,代表的实际值是-1。
在与while和scanf配合使用时,用于判断是否读取到了文件结束符,即ctrl Z,如果没有,将继续循环。例如:
int main()
{
int ch = 0;
while ((ch = getchar()) != EOF)
{
putchar(ch);
}
return 0;
}
当输入不为“EOF"时,循环不停。
当获取的字符为ctrl Z 的时候(^z)循环停止。
(注意:如果仅仅是输入EOF循环将继续,因为EOF被读取的方式是单个字符被读入)
当while循环中加入元素后while(scanf("%d",&n) != EOF
while所负责的代码块将被循环输入并执行,例如一道小题:
比较两个数的大小:
#include<stdio.h>
int main()
{
int d1,d2;
char ch;
while(scanf("%d %d",&d1,&d2)!=EOF)
{
if(d1>d2)
ch='>';
else if(d1<d2)
ch='<';
else
ch='=';
printf("%d%c%d\n",d1,ch,d2);
}
return 0;
}
注意此时while循环条件格式是Int而不是getchar,对于要结束循环需要输入三次ctrl Z。(不同的编译器有不同的方式,我的是VS2022)