我在Linux GCC中使用了fflush(),但是没有用。该功能还有其他选择吗?这是我的代码:
#include<stdio.h> void main() { char ch='y'; while(ch=='y') { int a; printf("Enter some value:"); scanf("%d",&a); fflush(stdin); printf("Do you want to continue?"); scanf("%c",&ch) }
我得到的输出是:
Enter some value: 10
然后程序结束。就这样。我可以在Linux中做什么?有替代功能吗?
不要使用fflush,而是使用以下函数:
#include <stdio.h> void clean_stdin(void) { int c; do { c = getchar(); } while (c != '\n' && c != EOF); }
fflush(stdin)取决于实现,但是此功能始终有效。在C中,使用是不当做法fflush(stdin)。
fflush(stdin)