fflush()在Linux中不起作用

我在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()在Linux中不起作用 的全部内容, 来源链接: utcz.com/qa/417455.html

回到顶部