关于C语言:while(scanf("%d%d%d",&n,&k,&m)!=EOF) 求精确解释这个循环的含义,尤其是关于“!=EOF”。

前面只接触过类似while(n<=12)这类的循环条件设定。上面的是输入循环?若是求循环输入条件的设定规则... 前面只接触过类似while(n<=12)这类的循环条件设定。上面的是输入循环?若是求循环输入条件的设定规则 展开
 我来答
Gifan
2012-07-03 · TA获得超过725个赞
知道小有建树答主
回答量:240
采纳率:0%
帮助的人:258万
展开全部
C语言中,EOF常被作为文件结束的标志。还有很多文件处理函数处错误后的返回值也是EOF,因此常被用来判断调用一个函数是否成功。
在我们一般的来说,就是读写数据到文件的结尾 EOF 其实又定义为-1 由于我们在控制台中读入数据根本无法读入到文件结尾,当我们输入ctrl+z 这个值就等于-1 所以相等了,就结束循环。

在牵涉到真正的文件例如打开一个文件 fp=fopen("..txt.","r");
这个时候,你从指针fp读取数据,它便会一直读取文件的数据,处理,知道达到文件的结尾。
yangbinnuaa
2012-07-03 · 超过35用户采纳过TA的回答
知道答主
回答量:122
采纳率:0%
帮助的人:104万
展开全部
那个while的意思是:只要括号里面的条件成立,一直循环执行。

  如果n和k,m都被成功读入,那么scanf的返回值就是3

  如果成功读入2个,返回值为2
如果成功读入1个,返回值为1

  如果n和k,m都未被成功读入,返回值为0

  如果遇到错误或遇到end of file,返回值为EOF。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yt3437
2012-07-03
知道答主
回答量:14
采纳率:0%
帮助的人:13.3万
展开全部
for是专门用于循环判断的,while的真正作用是进行判断,你写的代码的意思是当输入的字符中n、k、m的址不是结束符是为真,则进行while里面的运算
追问
我不太明白要怎么用结束符结束这个输入。比如我要按照上面的格式输入不超过20行吧,当我输入完以后要在键盘进行什么操作结束输入,还是下面的代码要加上什么来结束输入?因为不确定要输入的行数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5192f1f
2012-07-03 · 超过16用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:49万
展开全部
这是个重复输入数据的循环
有两种方法结束
(1)3n+1个数输入的是ctrl+z
(2)连续输入两个ctrl+z
输入ctrl+z后显示出来是^Z
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式