对c语言scanf函数的一些理解

空白符包括:空格,制表符,回车符,换行符,换页符

scanf双引号括起来的即为格式化字符串,输入时应该严格执行格式

scanf函数中空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符,空白符可以是space,tab,newline等等,直到第一个非空白符出现为止。(如果要输入空格,scanf函数中格式化说明符中间不能有空格)

#include <stdio.h>
void main()
{
	int a;
	printf("input the data\n");
	scanf("%d\n",&a);	//这里多了一个回车符\n
	printf("%d",a);
}

需要输入两个数程序才结束

because:用空白符结尾时,scanf会跳过空白符去读下一个字符,所以必须再输入一个数

使用

scanf("%d ",&a);    也会出现同样问题