形式を指定して標準入力からの読み込みを行う関数として"scanf"関数があります。"getchar"関数では文字を読み込むだけでしたが、"scanf"関数は文字列も表示できます。さらに、形式を指定することによってデータの型を指定して読み込むことができます。引数の形式は""(ダブルクォーテーション)で括って入力データの形式を指定し、続けて代入する変数のアドレスを , (カンマ)で区切って指定します。
- scanf
インクルードファイル stdio.h 書式 int scanf(const char *format, ...) 引数 読み込む形式 処理 指定した形式にしたがって変数に値を代入 戻り値 読み込んだデータの数(エラーのときはEOF)
種類 記号(データ) 意味 制御指定 % 制御書式の開始(%% で % 自身を意味する) 入力幅 整数 最大の読み込み幅 データ型のオプション h 引数となる変数がshort型のとき l 引数となる変数がlong型またはdouble型のとき L 引数となる変数がlong double型のとき 変数に代入するときのデータの型 d 10進数 o 8進数 u 10進数(符号なし) x 16進数 c 文字 s 文字列(文字配列) f 浮動小数点 p ポインタの値
"scanf"関数で標準入力からデータを読み込む場合データを代入する先はアドレスで指定しなければなりません。