LiJay 发表于 2020-11-15 22:28:59

有关while的问题求解

在acm上做题发现经常循环数据有多组的时候都是用
while(scanf("%d",&n)!=EOF)
那么while(scanf("%d",&n)!=EOF)和while(scanf("%d",&n)区别是在哪里呢?
不输入!=EOF会有什么影响吗?
并且在这种格式下,while里的并不是判断语句,这样一直循环下去和while(1)不是没区别吗?该如何从读取中退出循环呢?

baige 发表于 2020-11-15 22:33:25

本帖最后由 baige 于 2020-11-15 22:42 编辑

while(scanf("%d",&n)!=EOF)这一个处理到文件结束,可以将测试案例放在文件里
while(scanf("%d",&n)永远不会结束,加break或者输入错误的数据,如字母,符号等
while(scanf("%d",&n)读取到数字返回1,读取错误返回0吧

LiJay 发表于 2020-11-16 17:18:14

baige 发表于 2020-11-15 22:33
while(scanf("%d",&n)!=EOF)这一个处理到文件结束,可以将测试案例放在文件里
while(scanf("%d",&n ...

读取到文件结束具体是怎么样的呢?
页: [1]
查看完整版本: 有关while的问题求解