为什么程序会无限循环

[复制链接]
查看11 | 回复1 | 2011-12-15 01:14:07 | 显示全部楼层 |阅读模式
EOF 其实是一个宏,在预编译期间会被编译器用-1代替也就是说,当scanf 的返回值是 -1 时就会跳出循环。scanf的返回值是前 N 个成功度取得数据的数量,简单点说就是成功读了多少个数据,不过有区别,如果你第一个输入数据非法的话,就算你后面是合法输入,也会返回 0 。EOF是 end of file的意思,也就是文件尾。如果是读文件的话,读到文件尾就会结束循环。如果使用键盘输入的话, 输入 Ctrl + z就可以结束循环(貌似是模拟文件结束符还是什么的,我也不太清楚),不过我所说的是在windows 环境下,如果是其他操作系统就另当别论了。印象中,以前在百度 scanf()=EOF看到过一篇文章就...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行