C言語:scanf()関数

scanf()関数

キーボードからの入力に対する関数

構文

scanf(書式1, 書式2 …, 引数1, 引数2, …);
  • 書式1:書式指定文字列のみ [%d , %c , %s]
  • 引数1:変換したデータを格納する場所(アドレス)

キーボードから数値を入力する場合

int age;
scanf(年齢を入力して下さい。→ %d \n, &age);

上記で示した書き方より 下記に示した書き方が正しいです。

printf(年齢を入力して下さい。→);
scanf(%d, &age);

※ アドレス演算子は 変数名の前に付ける事で その変数の取られている場所(アドレス)を示す。

サンプル

char a = 10;
  • プログラム中でaと書くと変数aの内容 つまり10を示す。
  • プログラム中で&aと書くと変数aの場所 つまり2000番地を表す。

scnaf()の働き

int in_data;
~
scanf(%d, &in_data);
[/code]
  • キーボードから入力された数字(文字)を10進数の数値に変換しなさい。
  • 変換したデータの格納場所(アドレス)を指定する。
  • キーボードより 2つの整数を入力し 加算した結果を表示するプログラム(但し 2つの整数はint型の変数で扱う。)
void main (void) {

int a, b;

printf(1つ目の整数を入力して下さい。→);
// 5を入力
scanf(%d, &a);

printf(2つ目の整数を入力して下さい。→);
// 8を入力
scanf(%d, &b);

printf(%d + %d = %d ¥n, a, b, a+b);
}

実行結果

5 + 8 = 13

scanf()関数より

// キーボードから入力された数字(文字コード)を10進数の数値データに変換し 指定されたアドレスに格納する。
scanf(%d, 格納先のアドレス);

// キーボードから入力された数字(文字コード)を1文字取り出して 指定されたアドレスに格納する。
scanf(%c, 格納先のアドレス);

// キーボードから入力された数字(文字コード)を10進数の実数値データに変換し 指定されたアドレスに格納する。
scanf(%f, 格納先のアドレス);

// キーボードから入力された文字を文字列として 指定されたアドレスから順番に1文字ずつに格納する。
scanf(%s, 格納先のアドレス);
The following two tabs change content below.
渋谷でWebエンジニアをしています。 株主優待目的で日本株からはじめ、投資信託・米国株の流れで投資しています。 最近は懸賞もハマってます(笑) 旅の思い出ログ、投資運用ログ、株主優待ログが中心のブログです。 どうぞ、よろしくお願いします!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)