当我多次使用 scanf 时,程序不会等待另一个输入。相反,它退出
我了解到我可以在 scanf 函数中的转换说明符之前放置一个空格 - 是的,这解决了问题,我猜这与输入流有关,也就是说 - 如果它是输入流中的换行符,则 scanf 将消耗它立即。
scanf(" %f", &value);
但如果是这样 - 为什么我不能使用 fflush(stdin) 代替?我已经尝试过,但它不起作用。
#include <stdio.h>
int main(void)
{
float value;
char ch;
printf("input value: ");
scanf("%f", &value);
fflush(stdin);
printf("input char: ");
scanf("%c", &ch);
return 0;
}