C 言語の入力関数は次のとおりです: 1. 標準入力 stdin からフォーマットされた入力を読み取る scanf() 関数; 2. 標準入力 stdin から文字を取得する getchar() 関数; 3. .gets() 関数は標準入力 stdin から行を読み取ります; 4. getch() 関数は stdin ストリームから文字列を読み取り、改行文字または EOF を受信すると停止します。
# このチュートリアルの動作環境: Windows 7 システム、c99 バージョン、Dell G3 コンピューター。
C 言語の入力関数は次のとおりです:
1. scanf
scanf() 関数の戻り値は次のとおりです。割り当てが成功した データ項目の数 ファイルの終わりの読み取り時にエラーが発生した場合は、EOF が返されます。
例:
scanf("%d%d", &a, &b);
ログイン後にコピー
a と b の両方が正常に読み取られた場合、scanf の戻り値は 2
a のみが正常に読み取られた場合、戻り値は次のようになります。 1
a も b も正常に読み取れなかった場合、戻り値は 0
エラーが発生した場合、またはファイルの終わりに遭遇した場合、戻り値は EOF
です値は int 型です。
空白文字: 空白文字により、scanf() 関数は読み取り操作中に入力内の 1 つ以上の空白文字を省略します。
非空白文字: 非空白文字により、scanf() 関数は読み取り時に非空白文字と同じ文字を削除します。
scanf関数使用時の注意点
(1) 文字列配列や文字列ポインタ変数の場合、配列名やポインタ変数名自体がアドレスとなるため、scanf関数を使用する場合は() 関数の前に「&」演算子を追加する必要はありません。
(2) 書式文字列内の「%」の各書式指定子の間に整数を追加して、読み取り操作の最大桁数を表すことができます。
(3) scanf() 関数には精度制御がありません。
例: scanf("%5.2f",&a); は無効です。このステートメントを使用して、小数点以下 2 桁の実数を入力することはできません。
(4) Scanf には変数アドレスが必要です。変数名を指定すると、エラーが発生します。
たとえば、scanf("%d",a); は不正なので、次のように指定する必要があります。 scnaf ("%d",&a); に変更することは正当です。
(5) 複数の数値データを入力する場合、入力データを区切る書式制御文字列に書式外文字がない場合は、スペース、TAB、またはキャリッジリターンを間隔として使用できます。
C コンパイラは、スペース、TAB、キャリッジ リターン、または不正なデータ (たとえば、"%d" に "12A" が入力された場合、A は不正なデータ) に遭遇すると、データが終了したとみなします。
(6) 文字データ(%c)を入力する場合、書式制御文字列に書式外文字が存在しない場合、入力された文字はすべて有効文字とみなされます。
(7) 書式制御文字列に非書式文字が含まれる場合は、入力時に非書式文字も入力する必要があります。
2. getchar
getchar の戻り値は int です。プログラムが getchar を呼び出すと、プログラムはユーザーがキーを押すのを待ちます。ユーザーはキーボード バッファーに保存されます。ユーザーが Enter キーを押すまで (キャリッジ リターン文字もバッファーに配置されます)。ユーザーが Enter キーを入力すると、getchar は標準入力ストリームから一度に 1 文字ずつ読み取りを開始します。戻り値getchar 関数の は、ユーザーが入力した最初の文字の ASCII コードです。エラーが発生した場合は、-1 が返され、ユーザーが入力した文字が画面にエコーされます。ユーザーが を押す前に複数の文字を入力した場合、 「Enter, the othercharacters will be left in thekeyboard Buffer area.」(入力すると、他の文字はキーボード バッファー領域に保持され、後続の getchar 呼び出しの読み取りを待機します。言い換えると、後続の getchar 呼び出しは、ユーザーがキーを押すのを待たずに、バッファー内の文字を直接読み取ります。)
3. getch
getch と getchar の基本関数は次のとおりです。違いは、getch はキーボードから直接キー値を取得し、ユーザーが Enter を押すのを待たないことです。ユーザーがキーを押している限り、すぐに戻ります。getch の戻り値は ASCII コードです。ユーザーが入力した値です。エラーが発生した場合は、-1 が返されます。入力された文字は画面にエコーされません。getch 関数は、プログラムのデバッグでよく使用されます。デバッグ中、関連する結果が主要な場所に表示されます。 , その後、getch 関数を使用してプログラムを一時停止します。任意のキーが押されると、プログラムは実行を継続します。
4,gets
関数: から文字列を読み取ります。 stdin ストリームは、改行文字または EOF を受信して停止するまで続き、バッファ ポインタが指す文字配列に読み取り結果を格納します。改行文字は読み取った文字列の内容としては使用されず、読み取った改行文字はnull値に変換されて文字列が終了します。
戻り値: 読み込みに成功した場合はパラメータバッファと同じポインタを返し、読み込み処理中にEOF(End-of-File)やエラーが発生した場合はNULLポインタを返します。したがって、戻り値が NULL になった場合は、ferror または feof 関数を使用して、エラーが発生したか、EOF が発生したかを確認してください。
プログラミング学習について詳しく知りたい方は、php training のコラムに注目してください!
以上がC言語の入力関数とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。