使い方がわからなくてずっと悩んでいましたscanf()
。かなり単純なので、整数で問題なく動作するようですscanf("%d", &i)
。
私が問題に直面しているのはscanf()
、入力を読み取ろうとする in ループの使用です。例えば:
do {
printf("counter: %d: ", counter);
scanf("%c %c%d", &command, &prefix, &input);
} while (command != 'q');
のような有効に構造化された入力を入力すると
c P101
、プロンプトが表示される前に再びループするようです。これは、単一でも発生するようです:scanf("%c", &c)
while ループで。再度プロンプトを表示する前に、ループを 2 回実行します。2 回ループさせているのは何ですか?どうすれば停止できますか?
プログラムで などの別の文字や数字を持たない少ない量の入力を入力すると
q
、Enter キーを押すと、さらに入力するように求められるようです。scanf()
1文字入力と 2 文字入力の両方を処理するにはどうすればよいですか?