编程论坛
注册
登录
编程论坛
→
C++教室
请教:while(scanf("%d",&x)==1) 这个等于1是什么意思呀
damzkk
发布于 2017-03-22 18:40, 2948 次点击
如题,请教:while(scanf("%d",&x)==1) 这个等于1是什么意思呀
4 回复
#2
md1438
2017-03-22 21:09
while(scanf("%d",&x)==1)相当于
while(1){scanf("%d",&x)}
就是说只要输入成功就进入循环。然后下一次循环前又先输入
#3
rjsp
2017-03-23 00:34
scanf的返回值 表示成功读取到几个字段
#4
rjsp
2017-03-23 09:17
举个例子#include <stdio.h>
程序代码:
int
main(
void
)
{
int
a,b,c,d,e;
int
n = sscanf(
"
11 22 33 xx 44
"
,
"
%d %d %d %d %d
"
, &a,&b,&c,&d,&e );
printf(
"
%d\n
"
, n );
}
因为 11 22 33 这
三
个数被读入成功,所以sscanf的结果是
3
#5
damzkk
2017-03-28 08:10
感谢各位! 菜鸡不知道scanf还有返回值,后来查了相关资料知道了,跟版主说的一样
1