C语言中EOF到底是什么?

getchar()!= EOF 这里的文件结束符到底是什么?当输入的值为什么时,则getchar()!= EOF 为0?

    EOF是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。

    EOF不是特殊字符,而是一个定义在头文件stdio.h的常量,一般等于-1。

    #define EOF (-1)

    除了表示文件结尾,EOF还可以表示标准输入的结尾。但是,标准输入与文件不一样,无法事先知道输入的长度,必须手动输入一个字符,表示到达EOF。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
C语言标准库中的EOF 是宏常数,其定义是:
#define EOF (-1)
程序中凡写EOF处,将用 (-1) 替代,替代后再编译。
while((c=getchar())!=EOF) 就是 while((c=getchar())!=(-1))
------
当读语句(例如 fscanf) ,读到文件尾时,就会获得EOF,EOF又叫文件结束符。
读语句(例如getchar),遇到键盘输入ctrl+z 时也能 获得EOF。本回答被提问者采纳
第2个回答  2019-11-19
eod
是end
of
file的缩写

你在用函数读入文件数据的时候,函数总会返回一个状态,是读取成功还是失败,那么这个状态怎么表示呢,所以就约定俗成定义一个标识符表示这个状态,就有了EOF。
scanf函数只有在第一个参数为NULL(空指针)的情况下,才可能返回EOF,否则,返回成功格式化并赋值的参数个数(>=0)。
所以,这个循环,将是一个死循环。
扩展资料:
EOF是一个计算机术语,为End
Of
File的缩写,在操作系统中表示资料源无更多的资料可读取。资料源通常称为档案或串流。通常在文本的最后存在此字符表示资料结束。
在C语言中,或更精确地说成C标准函数库中表示文件结束符(end
of
file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。
在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。
参考资料:EOF–百度百科
第3个回答  2019-06-20
EOF
是C语言里面的一个宏,它的值为-1
而scanf()函数出错时返回-1
因此,当输入有错误时退出循环
第4个回答  2020-10-20
EOF就是一个文件结尾的宏定义
比如while循环的条件是==EOF,那么如果一直没有碰到文件结尾,那么就是死循环。
它就是一个宏定义,一个文件结束标志。
可以不严谨的等同于字符串结尾的“\0”(只是便于理解,其实不一样)

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网