while(scanf("%d",&n)==1)

怎么判断执行过程??关键是这个语句判断的读入一个整数如果是非整数则不执行所以不明白是怎么个执行过程... 怎么判断执行过程??
关键是 这个语句判断的读入一个整数 如果是非整数 则不执行 所以不明白 是怎么个执行过程
展开
 我来答
Nor_yourgodsy
推荐于2016-11-17 · TA获得超过1.8万个赞
知道大有可为答主
回答量:3659
采纳率:82%
帮助的人:285万
展开全部
while(scanf("%d",&n)==1)是解释:
scanf的返回值
scanf的返回值由后面的参数决定 scanf("%d%d", &a, &b); 如果a和b都被成功读入,那么scanf的返回值就是2 如果只有a被成功读入,返回值为1 如果a和b都未被成功读入,返回值为0 如果遇到错误或遇到end of file,返回值为EOF。 且返回值为int型.
kyu3543
推荐于2018-03-08 · TA获得超过577个赞
知道小有建树答主
回答量:430
采纳率:0%
帮助的人:213万
展开全部
scanf的返回值为读入的数据个数,while(scanf("%d",&n)==1)在成功读入1个数据时执行循环体。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-03-26
展开全部
scanf()函数的返回值就是成功读取的变量个数.

这个循环就是在scanf()读取成功的情况下(也就是读取的内容能够转换成int类型值)执行,如果读取了一个值,但是这个值无法成功的转换成int类型的值(例如输入了一个非数字的字符串),那么这里的scanf()将返回0,此时便退出循环.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
XXXXXYYYYYXXXXXYYYYY
2010-03-29 · TA获得超过156个赞
知道答主
回答量:72
采纳率:0%
帮助的人:75.2万
展开全部
当输入的值为1的时候执行循环
不能输入非整数,因为你用的是 %d 这是整型输入.
要输入浮点型的就得用 %f
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
baqktdgt
2010-03-26 · TA获得超过474个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:237万
展开全部
man scanf 里面的帮助

RETURN VALUE
These functions return the number of input items successfully matched and assigned, which can be fewer than provided for, or even zero in the event of an early matching failure.

The value EOF is returned if the end of input is reached before either the first successful conversion or a matching failure occurs. EOF is also returned if a read error occurs, in which case the error indicator for the stream (see ferror(3)) is set, and errno is set indicate the error.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式