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;
}