1
scanf会自动过滤空白符
空白符主要是指空格,没错当你输入“ 2 3 4” 时录入的是2,3,4
这也是为啥我们可以一次性录入好几个数的原因
建议要录入好几个数值时用一个scanf . 多个scanf 函数会造成一些读取问题.
2
scanf 输入的数据会先放入缓存区,之后scanf 函数会进行读取 (读取相应的类型数)
如 你输入23.456 读取%d 它会取整为23
3
scanf 的返回值会返回一个整形,表示成功读取的类型数(当然这里用到了函数嵌入引用),如
int main()
{
int a, b;
/*scanf("%d%d", &a, &b);*/
printf("返回值是 %d", scanf("%d%d", &a, &b));
return 0;
}
4
scanf("%d,%d,%d", ) 输入个数之间要用“ ,” 分隔符号,输入时分隔符号要一致
没错看代码
int main()
{
int a, b;
scanf("%d,%d", &a, &b);
printf("%d %d", a, b);
return 0;
}
看到了吧 我没有按照格式输入“ 2,3" 这里打印出现了错误。
因此我们在输入时要注意格式, 在前期录入时尽量不要带符号
5 如果像输入空格符怎么办
对于 %c 空格会被读取,” (空格)%c " 表示跳过前面的空格。
int main()
{
char a;
scanf("%c", &a);
printf("****%c***", a);
return 0;
}
看空格兄弟
6注意
*号放在%类型使赋值忽略
scanf 是前期学习相对比较难的函数,希望大家不要着急!!!