先上代码:
#include<stdio.h>
void main()
{
int a, b1 = 1, b2 = 1;
float c;
while(b1 && b2)
{
b1 = scanf("%d", &a);
b2 = scanf("%f", &c);
printf("%d%f\n%d\t%d\n", a, c, b1, b2);
}
}
上述程序是为了证明scanf返回值的函数,当将输入的数据成功转型为你格式控制想要转型的数据,则会返回1,否则返回0。
以下是几组测试的结果输出:
1 2.34
1 2.340000
1 1
v 2
1 2.340000
0 0
2 v
2 0.000000
1 0
以下两种测试说明,如果输入既有正确部分,也有非法部分,会截取正确部分,留下非法部分。
2v
2 0.000000
1 0
1 2v
1 2.000000
1 1
1 2.000000
0 0