scanf 返回值

来源:互联网 发布:安卓数据导入苹果手机 编辑:程序博客网 时间:2024/06/04 20:51

程序如下:
#include "stdio.h"
main()
{
   int a,b,c;
   int n;
   n=scanf("%d,%d,%d",&a,&b,&c);
   printf("%d",n);
   
}

当a,b,c分别为3, 3.5, 3  时,n=2;
当a,b,c分别为3,   3, 3.5时,n=3;

scanf返回的是实际赋值的数据个数。第一种情况,遇到3.5时,由于小数点是非法字符(针对整数而言),所以到此结束输入,因此实际赋值只有两个(a,b值为3,c没有赋值);第二种情况,由于小数点是第三个数据遇到的,所以当然实际赋值有三个了(a,b,c值均为3)

原创粉丝点击