【課題1−20 scanf関数】
<キーボードからの入力>
scanf関数に限らず,標準入力関数を実行すると,プログラムはキーボードからの入力待ちになる.Enterが押下されると先に進む.
<scanf関数>
(構文) scanf(書式文字列[,格納可変個引数]);
<書式文字列>
(例) scanf("%c",
&c); //変数cに文字変換した入力データを格納
scanf("%x",
&n); //変数nに16進変換した入力データを格納
主なscanf関数の変換指定子
変換指定子 |
意味 |
引数 |
c |
1文字として入力 |
文字型変数のアドレス |
d |
10進数で入力 |
int型変数のアドレス |
x |
16進数で入力 |
int型変数のアドレス |
o |
8進数で入力 |
int型変数のアドレス |
f |
float型変数に実数を入力 |
float型変数のアドレス |
s |
文字列を入力 |
文字型配列のアドレス |
*long型変数に対する入力の場合には,変換指定子の前に変換修飾子lを付加して%ldのように記述する
*double型変数に対する入力の場合には,変換指定子の前に変換修飾子lを付加し,%lfのように記述する.printf関数とは異なる指定なので注意.
<アドレス&>
格納引数には変数のアドレスを用いる.変数の前にアドレス演算子&をつけるとその変数のアドレスが得られる.