fflush();win系统下的清空缓存区函数,放在liunx下不会报错,但是没有鸟用
getchar():通过接受滞留在输入流中的内容达到清空缓存的效果,配套函数:while((num = getchar()) != '\n');
setbuf:setbuf(stdin,NULL);在liunx系统下很舒服
内容比较少,那就来几行代码吧(liunx)
代码演示:
#include <stdio.h>
int main()
{
char buff[128];
char buf[128];
scanf("%s",buf);
scanf("%s",buf);
printf("%s\n",buf);
printf("%s\n",buff);
}
输入a b c d
不会进入到第二个scanf()中
打印
a
b
然后在其中加入清楚缓区的函数就会有改善