scanf() 的返回值

来源:互联网 发布:消息队列java 编辑:程序博客网 时间:2024/05/22 00:40
void main()
{int a,b,c;
c=scanf("%d %d",&a,&b);
printf("%d",c);
}为什么我输入a 1 , c的值就为0,输入1 a,c的值为1

scanf返回接收到的变量值的个数。 
int a,b,c。
a 1进去时,试图用字符‘a’对a赋值,肯定是错的,于是退出,返回成功接收到赋值的个数 0.
1 a进去时,首先a能获取1.但b不能获取'a',于是返回只是1
如果是 1 1的话,那就都成功,返回2