scanf printf求助
#include <stdio.h>int main()
{
int a=0;
int value_return;
value_return=scanf("%d",&a);
printf("%d\n",a);
printf("%d",value_return);
}
如图:为什么输入213sadd543,输出a=213?value_return=1?不懂printf与scanf,求详解。 scanf 返回 1 表示成功读入
a = 123 因为你设定的输入类型是 %d (整数),所以后面的字母不会被读入 scanf的返回值表示成功读取的个数。这里%d对应的数字被读入了,所以是1.
a= 123 是很正常的,因为scanf读取整数的时候,碰到不符合整数规则的(这里是字母)就会停下来。 1.你用的%d,这表实整数类型,字母包括字母之后的就不会读入这是123的原因
2.scanf表示的是读入的个数,scanf一次只能读入一个,如果你想多次读入可以考虑用循环 shooan 发表于 2020-10-27 18:04
scanf的返回值表示成功读取的个数。这里%d对应的数字被读入了,所以是1.
a= 123 是很正常的,因为scanf读 ...
没错,就是这样的
页:
[1]