为什么输入完10输入空格会把printf的结果忽略

代码
int a=1,b=2;
printf(“input a:”);
scanf(“%d”,&a);
printf(“input b:”);
scanf(“%d”,&b);
print(“a=%d,b=%f”,a,b);
输入内容及结果
input a:10<空格>26
a=10,b=26;

b=%f不行,b是浮点数,用%d输出

因为你在输入 10<空格>26 的过程中,你还没有完成输入,而完成输入的标志就是回车,等你按了回车,系统就知道你输入完了,接着执行下一行代码。如果你想 printf()函数 的结果有输出,那必须输入一个数就要按一次回车,表示这次输入完成,程序就会读取输入缓冲区内的所有数据