为什么当我只使用整数时程序运行良好?我为变量“a”插入一个数字然后按 Enter 键后却没有 保留在缓冲区中?。如果确实保留了,为什么我也可以初始化 b ?如果我将 b 定义为 char,则 b 输出将为 b 10,换句话说就是空字符。例如,如果我想多次输入多个人的名字,我会遇到 anlyl 问题吗?或者 for func 会清除缓冲区吗?那么出了什么问题以及如何解决这个问题
#include <stdio.h>
int main() {
int a,b;
printf("a ");
scanf("%d",&a);
printf("a=%d",a);
printf("\nb ");
scanf("%d",&b);
printf("b=%d",b);
return 0;
}
对于大多数转换,包括
%d
,scanf
读取并忽略初始空白字符,包括换行符。