操作系统为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,但不知原因是什么
http://bbs.chinaunix.net/thread-352144-2-1.html
你的fflush(stdin);吸收的是第一个scanf()的‘\n'字符