在写代码时总是不小心在这里犯错,所以特意查了一下这个函数,并且做以整理,现分享给大家。
1.空白符问题
#include<stdio.h>
main()
{
int a;
printf(“input the data “);
scanf(”%d “,&a);//这里多了一个回车符
printf(”%d”,a);
return 0;
}
结果要输入两个数程序才结束,而不是预期的一个。why?
原因:用空白符结尾时,scanf会跳过空白符去读下一个字符,所以你必须再输入一个数。这里的空白符包括空格,制表符,换行符,回车符和换页符。所以如果你用scanf("%d ",&a)也会出现同样的问题。
解决方法:这种错误大多是输入的时候不小心,多注意一点就好了。这种问题也不好检查,编译没有问题,一个空格也不容易看出来。当你的程序出现上面的问题时,自己对照检查一下就可以了。
快来看看C语言中scanf函数的3种常见问题与应对技巧你都会了吗?
c语言
2.回车符也占位。
#include <stdio.h>
main()
{
int n = 5;
char c[n];
fo