char c;
char s[32];
puts("Type a char");
c=getchar();
fflush(stdin);
puts("Type a string");
fgets(s,32,stdin);
如果没有 fflush(),如果你输入一个字符,比如“a”,然后按回车,输入缓冲区包含“a\n”,getchar() 会窥视“a”,但“\n”仍保留在缓冲区,因此下一个 fgets() 将找到它并返回一个空字符串,甚至无需等待用户输入。
应该怎么做?据我所知,在输入流上使用 fflush() 没有定义或标准?