fflush()不是标准库文件,经笔者测试,VC6.0完美支持,GCC(GCC4.6.2)不支持
当输入非整数类型字母会留在“输入缓冲区中”
gcc 下实现:
#include <stdio.h>
int main() {
int a;
char b;
scanf("%d", &a);
while ( (b = getchar()) != '\n' && b != EOF ) ;//循环获取缓冲区输入流
b = getchar();
printf("a = %d, b = %c \n", a, b);
return 0;
}
vc6.0 下实现:
#include <stdio.h>
int main(){
int a;
char c;
scanf("%d", &a);
fflush(stdin);//清空输入缓冲区
c = getchar();
printf("a = %d, c = %c \n", a, c);
return 0;
}