c语言feof()函数 20

第一幅图:用fgetc()再用feof(),最后一次fgetc()会返回EOF给charc虽然没法打印显示出来,但在调试窗口可以看到-1。所以一共读操作了11次。第二幅图... 第一幅图:用fgetc()再用feof(),最后一次fgetc()会返回EOF给char c 虽然没法打印显示出来,但在调试窗口可以看到-1。 所以一共读操作 了11次。第二幅图(??):除了回车符号一共只读操作 了10次,调试时读取完最后一个数字9,下一句feof()就为真了,就结束了,咋就不多读一次了,咋和第三幅图百度百科说的不一样。 展开
 我来答
bjo656262
2018-01-14 · TA获得超过127个赞
知道小有建树答主
回答量:117
采纳率:79%
帮助的人:82.3万
展开全部

fcanf与fgetc效果是不一样的

fcanf最后一行直接读取到换行结束

fcanf读了9\n ,num++=10 接下来feof直接读到文件结尾,然后break

fgetc 最后的字符后换行是分开读的,算两个,所以第一个加了一个判断是不是换行

fgetc 是读9 接下来feof不是结尾,num++=10,继续循环,然后fgetc 取\n 不进行判断feof 继续循环,然后fgetc取FF,num++=11 接下来feof直接读到文件结尾,然后break

已经将flag置为OF了,后面feof直接就读到OF了

更多追问追答
追问
9是最后一个数字了,9后面没回车了。而且有判断 回车的话不打印,不num++
追答
没有回车那就是这样的
fgetc 是读9 接下来feof不是结尾,num++=10,继续循环,然后fgetc取FF,num++=11 接下来feof直接读到文件结尾,然后break
中间的回车有没有并不重要
而那个fcanf是直接读取到行结束的,就是最后一次读的是9 和FF
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式