gpt4 book ai didi

c - fflush() 在 Linux 中不起作用

转载 作者:IT王子 更新时间:2023-10-29 00:38:51 28 4
gpt4 key购买 nike

我在 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) 被认为是不好的做法。

关于c - fflush() 在 Linux 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17318886/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com