我们从键盘输入的数会先去缓冲区,scanf先读取缓冲区然后再给变量赋值
1、在读数值型数据或字符串时,scanf函数会从第一个非空白字符(空白字符指:回车,空格,TAB键)开始读取,自动忽略前面的空白字符,而遇到空白字符结束该类型数据的输入。
①如果数据不符合输入格式,则scanf函数会读取失败,不再寻找输入缓冲区中后面的数据,不再等待用户输入新的数据,即该scanf()函数调用结束,但不符合格式的数据依然保留在缓冲区中。
②scanf函数在以%d形式读取数据时,会跳过空格,换行,Tab这些空白字符,用户在输入数值时,在两个数据之间可以用一个或多个空格、tab键、回车键分隔,遇到不符合要求的数据时,会读取失败
#inclue <stdio.h>
int main()
{
int a, b, c,d;
scanf("%d%d%d%d", &a, &b, &c,&d);
printf("%d,%d,%d,%d\n", a, b,