C语言中EOF到底是什么?

getchar()!=EOF这里的文件结束符到底是什么?当输入的值为什么时,则getchar()!=EOF为0?... getchar()!= EOF 这里的文件结束符到底是什么?当输入的值为什么时,则getchar()!= EOF 为0? 展开
 我来答
育知同创教育
2016-08-11 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
  1. EOF是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。

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

    #define EOF (-1)

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

a1012144015
推荐于2017-12-16 · TA获得超过6415个赞
知道大有可为答主
回答量:9038
采纳率:40%
帮助的人:1361万
展开全部
C语言标准库中的EOF 是宏常数,其定义是:
#define EOF (-1)
程序中凡写EOF处,将用 (-1) 替代,替代后再编译。
while((c=getchar())!=EOF) 就是 while((c=getchar())!=(-1))
------
当读语句(例如 fscanf) ,读到文件尾时,就会获得EOF,EOF又叫文件结束符。
读语句(例如getchar),遇到键盘输入ctrl+z 时也能 获得EOF。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
姒中衷碧琴
2019-11-19 · TA获得超过1445个赞
知道小有建树答主
回答量:1976
采纳率:92%
帮助的人:9.4万
展开全部
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–百度百科
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
闪从霜盖吉
游戏玩家

2019-06-20 · 非著名电竞玩家
知道大有可为答主
回答量:1.2万
采纳率:26%
帮助的人:688万
展开全部
EOF
是C语言里面的一个宏,它的值为-1
而scanf()函数出错时返回-1
因此,当输入有错误时退出循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
念存仉雅霜
2020-10-20 · TA获得超过1051个赞
知道小有建树答主
回答量:1961
采纳率:96%
帮助的人:10.8万
展开全部
EOF就是一个文件结尾的宏定义
比如while循环的条件是==EOF,那么如果一直没有碰到文件结尾,那么就是死循环。
它就是一个宏定义,一个文件结束标志。
可以不严谨的等同于字符串结尾的“\0”(只是便于理解,其实不一样)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式