是不是‘\n’被printf成功输出后就清理了输出缓存区?

#include <stdio.h>
int main()
{
int aa;
aa=-9;
printf("%c,",aa);//这里有逗号
fflush(stdout);
printf("%d",1);
}
输出是?1 。我猜‘,’因为属于aa的残余字节而没有被读取,而stdout没有起到清理输出缓冲区的作用,是不是我的编译器有问题?
#include <stdio.h>
int main()
{
int aa;
aa=-9;
printf("%c\n,",aa);//这里有逗号
printf("%d",1);
}
输出是?

精慕HU
浏览 217回答 1
1回答

Qyouu

清除标准输入(通常是键盘)的缓存。&nbsp;的scanf()函数接收输入数据,一个情况下,输入数据结束后,当(不是scanf函数的末尾,scanf函数只有数据在每个数据字段,之后按Enter键结束)。&nbsp;①案件的空间,“输入”,“跳格”按钮。&nbsp;②宽度的情况下结束。&nbsp;③如非法入境。&nbsp;键盘缓冲区可能会有残留信息的问题。&nbsp;的scanf()函数应该只扫描标准输入流,其余的信息是必要的,以解决在scanf中的标准输入()函数后添加FFLUSH(标准输入)。&nbsp;平齐(标准输入)刷新标准输入缓冲区,废弃FFLUSH(标准输出)刷新标准输出缓冲区的东西输入缓冲器,对事物的输出缓冲器输出到标准输出设备上。&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP