波斯顿熊猫 2022-07-27 16:47 采纳率: 66.7%
浏览 28
已结题

为啥我吧feof放到while里就多写一个字符呢

改成while(!feof)就多写了一个字符,改正if然后放到
fputc前边就不会,feof究竟是怎么移动的啊,难道putc也会使光标向后移动?

img

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-07-27 16:51
    关注

    while(!feof)当然会有问题了,你这是先do,然后再判断。
    比如当前判断最后一个字符,feof还是假,你接着循环,那么下一个就是feof了,但你先执行fputc啊,所以就写入了一个无效的东西。然后再判断!feof才结束循环
    你要么改成while循环,要么就像你现在这样,在fputc前判断

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月4日
  • 已采纳回答 7月27日
  • 创建了问题 7月27日