C语言
为什么一下子同时出来“请输入第一个字符”“请输入第二个字符”且无法输入第一个字符? 每个scanf()接收完成后在后面加一个fflush(stdin); #include<stdio.h>int main(void)
{
char xo;
int n,score,counter=0;
scanf("%d",&n);
fflush(stdin);
for(int i=0;i<n;i++){
scanf("%c",&xo);
//printf("\n");
}
printf("%s\n",xo);
return 0;
} jhq999 发表于 2021-11-26 07:52
每个scanf()接收完成后在后面加一个fflush(stdin);
谢谢!但能解释一下我原来那个错在哪里吗?万分感谢! basketmn 发表于 2021-11-26 08:03
感谢感谢
莫wj 发表于 2021-11-26 16:36
感谢感谢
因为'\n'也是字符,当你按下回车结束输入,换行符'\n'会进入缓存,当你再次输入时scanf()接收字符时会先接收前面进入缓存的'\n',所以如果你不要后面进入缓存的东西,你可以在输入结束后用fflush(stdin)清除缓存
页:
[1]