【C语言】有没有一个可以清除 缓存中的按键 的函数啊

来源:百度知道 编辑:UC知道 时间:2024/05/24 13:51:22
RT
如果没有这样的函数,又有什么实现的方法?

fflush(stdin)
清空标准输入缓存

#include "stdio.h"
main()
{
char a,b;
scanf("%c",&a);
//fflush(stdin);
scanf("%c",&b);
printf("\n%c %c",a,b);
}

可以尝试,没有fflush(stdin)时,输入一串字符"abcd",则a='a',b='b'
如果有fflush(stdin),则在输入"abcd"后程序会继续等待输入,再输入"efdfsd",结果a='a',b='e'

flushall(); stdio.h 头文件中

当然,除了上面的说法,用最简单的getchar()也可以
不过只是跳过一个字符罢了
一共有几个多余的字符,LZ要想清楚

fflush(stdin) stdio.h 头文件中