while(scanf("%d",&n)==1)
怎么判断执行过程??关键是这个语句判断的读入一个整数如果是非整数则不执行所以不明白是怎么个执行过程...
怎么判断执行过程??
关键是 这个语句判断的读入一个整数 如果是非整数 则不执行 所以不明白 是怎么个执行过程 展开
关键是 这个语句判断的读入一个整数 如果是非整数 则不执行 所以不明白 是怎么个执行过程 展开
6个回答
展开全部
scanf的返回值为读入的数据个数,while(scanf("%d",&n)==1)在成功读入1个数据时执行循环体。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-03-26
展开全部
scanf()函数的返回值就是成功读取的变量个数.
这个循环就是在scanf()读取成功的情况下(也就是读取的内容能够转换成int类型值)执行,如果读取了一个值,但是这个值无法成功的转换成int类型的值(例如输入了一个非数字的字符串),那么这里的scanf()将返回0,此时便退出循环.
这个循环就是在scanf()读取成功的情况下(也就是读取的内容能够转换成int类型值)执行,如果读取了一个值,但是这个值无法成功的转换成int类型的值(例如输入了一个非数字的字符串),那么这里的scanf()将返回0,此时便退出循环.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当输入的值为1的时候执行循环
不能输入非整数,因为你用的是 %d 这是整型输入.
要输入浮点型的就得用 %f
不能输入非整数,因为你用的是 %d 这是整型输入.
要输入浮点型的就得用 %f
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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.
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.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询