C語言清空輸入緩衝區
阿新 • • 發佈:2018-12-25
#include <stdio.h>
int main()
{
int num;
char ch ;
scanf("%d", &num);
scanf("%c", &ch);
printf("hello world\n");
system("pause");
return 0;
}
#include <stdio.h> int main() { int num; char ch ; scanf("%d", &num); setbuf(stdin, NULL);//使stdin輸入流由預設緩衝區轉為無緩衝區 scanf("%c", &ch); printf("hello world\n"); system("pause"); return 0; }
#include <stdio.h> int main() { int num; char ch ; scanf("%d", &num); while ((c = getchar()) != EOF && c != '\n');//不停地使用getchar()獲取緩衝中字元,直到獲取的c是“\n”或檔案結尾符EOF為止 scanf("%c", &ch); printf("hello world\n"); system("pause"); return 0; }
注意:有很多人可能覺得使用fflush(stdin);不就能清空緩衝區了,但使用這種方法有很多不確定性。