关于函数scanf有以下几点你可能不知道
1.scanf**函数是有返回值的,它的返回值是0或是成功输入的个数。如下代码:
// 验证scanf函数的返回值 (scanf是有返回值的,返回成功输入的个数,否则为0)
int i,t;
i=scanf("%d",&t);
printf("%d",i);
//输入数字返回i的值为1,字母则为0
依照这个,咱们可以做一些实用的东西:
// 试试输入不限规模的数据并处理
int sum=0,t;
while (scanf("%d",&t)==1)
{
sum+=t;
}
printf("%d",sum);
- scanf函数里的%n,如下代码:
// scanf里的%n (是储存你在输入界面输入的字符个数,如:1 2 3 4 则是7)
int a,b,c,d,n;
scanf("%d%d%d%d%n",&a,&b,&c,&d,&n);
printf("%d %d %d %d %d",a,b,c,d,n);
- 还有一些其他的东东,就是输入字符串的时候不能以空格隔开,要不就会以空格作为结束符。(这个比较简单就不码了,今天桂林太冷了,回去洗白白了,明天继续加油!)