wppkind
2015-10-21 04:03
采纳率: 75%
浏览 2.1k
已采纳

我的fflush(stdin)为什么没有丢弃输入缓冲区的内容

操作系统为linux mint 17.2
测试代码为:
#include
int main(){
char mychar;
scanf("%c",&mychar);
fflush(stdin);

printf("%c\n",mychar);
scanf("%c",&mychar);
printf("%c\n",mychar);
return 0;
}
当我运行时输入 AB,程序就直接结束了,并没有让我第二次输入内容,按理说我用了fflush后第二次调用scanf会让我继续输入的啊,但是它直接就从stdin读内容了,猜想是fflush并没有清空stdin,但不知原因是什么

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

  • 最佳回答
    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题