私はC言語の初心者です。私はKim N. Kingの本で勉強しています。 scanf()
は空白を無視した数字パターンを探しますが、Enterキーもスキップしていると思います。一方、それが文字を探すのであれば、明らかに空白も取ります。%dの一致を検索するときに、Scanf機能がEnterキーを無視しますか?
したがって、このコード例では、getchar()
を使用してストリームを2番目のscanf()
の前にクリアする必要があります。そうしないと、ユーザーの入力を待たずに2番目のストリームが実行されます。
代わりに数字を探すと問題はありません。
printf("Enter a number: ");
scanf("%d", &n1);
printf("\nEnter another number: ");
scanf("%d", &n2);
権利(これは、Enterキーをスキップします)私の仮定ですか?
「キーワードを入力」とは何ですか?改行文字は空白文字の1つです。 – MikeCAT
空白は必ずしも単一の空白ではありません。 'isspace'は改行、復帰改行、改行、垂直/水平タブ、および単一の空白(何かを忘れたかもしれません)を検索します。 – Downvoter
申し訳ありません。私はキーを入力するか、キーを戻すことを意味します。私はそれを編集する。 – VeVeVez