注册 登录
编程论坛 C++教室

请教:while(scanf("%d",&x)==1) 这个等于1是什么意思呀

damzkk 发布于 2017-03-22 18:40, 2948 次点击
如题,请教:while(scanf("%d",&x)==1) 这个等于1是什么意思呀
4 回复
#2
md14382017-03-22 21:09
while(scanf("%d",&x)==1)相当于
while(1){scanf("%d",&x)}
就是说只要输入成功就进入循环。然后下一次循环前又先输入
#3
rjsp2017-03-23 00:34
scanf的返回值 表示成功读取到几个字段
#4
rjsp2017-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
damzkk2017-03-28 08:10
感谢各位! 菜鸡不知道scanf还有返回值,后来查了相关资料知道了,跟版主说的一样
1