【发布时间】:2013-07-11 19:50:06
【问题描述】:
如果我输入的str1 的长度超过了 10,则其余部分将保留在缓冲区中并输入我的str2。如何清除str2之前的缓冲区,以便输入?
#include <stdio.h>
int main(void)
{
char str1[10];
char str2[10];
fgets(str1,10,stdin);
fgets(str2,10,stdin);
puts(str1);
puts(str2);
return 0;
}
【问题讨论】:
-
我之前试过了,还是不行。
-
@jamesdlin 对不起,如果我错了。你能解释一下是怎么回事吗?
-
fflush没有为stdin定义。见c-faq.com/stdio/stdinflush.html 和c-faq.com/stdio/stdinflush2.html
标签: c