C语言中while(表达式!=EOF)是什么意思啊?麻烦讲的通俗一点,谢谢

输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间距离输入数据有多组,每组占一行。由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开对于每组输入数据,输出一行,结果保留两位小数。题目如上我没明白这个!=EOF的意思,我去查了一下EOF是通常在文本的最后存在此字符表示资料结束。那这个!=EOF我是不是可以理解成这个我这个资料里面还有可以读取的东西例如,1 1 0 0 0 0 0 1第一次循环时先取到第一行的数值,然后输出,接着因为里面的东西还没取完,所以要再次循环,再来一遍吗真的不懂啊,好多题目里面是不是需要多组数据需要比较计算之类的都需要用到这个while( !=EOF)才可以啊

C语言里EOF这玩意被宏定义为-1,stdio.h的头文件里就包含了这个定义,如果宏定义没学,那就记着EOF就等于-1。
因此该语句就是判断scanf的返回值而已。
scanf的返回值:
如果成功,该函数返回成功匹配和赋值的个数。如果到达文件末尾或发生读错误,则返回 EOF。
因此这里其实是一个错误返回的判断。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-10-09

简单地说EOF是stdio,h中定义的一个特殊值的宏

用于表示End Of File,即是文件结束的标志

windows系统中的控制台使用ctrl+z也可以生成eof,用于表示结束输入

while(xxx!=EOF)就是只要没遇到文件结束标志,就进入循环体中

本回答被提问者和网友采纳
第2个回答  2021-10-09
这里的EOF,是在stdio.h里面定义的常量,通常值为-1。scanf函数在新一行中读到Ctlr+Z时的返回值为EOF。这叶才退出循环。
相似回答