为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C
精慕HU 2022-12-23 17:13:46
#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);}输出是?
查看完整描述

1 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

清除标准输入(通常是键盘)的缓存。 

的scanf()函数接收输入数据,一个情况下,输入数据结束后,当(不是scanf函数的末尾,scanf函数只有数据在每个数据字段,之后按Enter键结束)。 

①案件的空间,“输入”,“跳格”按钮。 

②宽度的情况下结束。 

③如非法入境。 

键盘缓冲区可能会有残留信息的问题。 

的scanf()函数应该只扫描标准输入流,其余的信息是必要的,以解决在scanf中的标准输入

()函数后添加FFLUSH(标准输入)。 

平齐(标准输入)刷新标准输入缓冲区,废弃
FFLUSH(标准输出)刷新标准输出缓冲区的东西输入缓冲器,对事物的输出缓冲器输出到标准输出设备上。

 


查看完整回答
反对 回复 2022-12-25
  • 1 回答
  • 0 关注
  • 216 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号