什么是EOF?
EOF全称end of file,它是文件结束标志,EOF的本质是-1。
按我的了解来看,它一般与scan连用。下面已例题的形式来给大家解释一下。
EOF的应用
例题:多组输入,一个人的智商(IQ)大于140,则输出Genious;否则,什么也不输出。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int iq = 0;
while (scanf("%d", &iq) != EOF)
{
if (iq >= 140)
printf("Genious\n");
}
return 0;
}
上面我们说了EOF的本质是-1,这里又有小伙伴迷惑了,那scanf怎么能和-1相比较呢?
其实scanf函数返回值是实际读到数据的个数。例如我们输入141,那我们的scanf函数读到的数据个数就是1,1不等于-1,进入while循环,最后输出Genious。
我们不论在scanf函数中输入什么,它读到数据的个数永远都不可能等于-1,这样循环就不停止,就可以多组输入,那么怎么结束循环呢?
结束EOF
结束EOFF其实很简单,只要按住我们键盘的Ctrl+Z键我们就能退出循环,因为我用的是VS2022编译器,在这个编译器里面需要按三次,下面给大家演示一下:
这样我们就退出了循环。
其实当我们在遇到要求我们多组输入的题目时,一般的解决途径都是使用EOF,希望大家可以记住EOF,合理使用它。
今天的分享就到这里啦!希望对大家有所帮助,有什么问题不懂,大家可以给我留言,我会为大家解答的,谢谢观看呐。