scanf による文字入力

#include <stdio.h>
int scanf(char *s, ...)

キーボードから文字や数値を入力して変数に格納します。以下の例は整数型の変数 a に数値を入れる場合の記述です。戻り値はあまり使うことはないでしょう。第一引数が書式指定の文字列、それ以降に格納する変数が並びます。

  printf("数値を入れてEnterキーを押す:");
  scanf("%d", &a);
  printf("入力は %d でした\n",a);

実行すると画面に「数値を入れてEnterキーを押す:」と表示され(このprintf() 文には改行がないので)すぐ右の位置でカーソルが表示されるでしょう。そこで数値を入力して、Enter キーを押すと、「入力は ** でした」と、入力した数値が表示されるので、うまく変数に値が格納されたことが確認できるでしょう。

第一引数である書式指定文字列の書き方はprintfとほぼ同じです。printf の変換文字列などを参考にして下さい。それ以降に引数として与える変数には数値型もしくは文字型であれば & をつけるようにしてください。文字列を入力したい場合の扱いはちょっと難しくなりますのでこの場ではサンプルを以下に示すにとどめておきます。 [1]

main() {
  char s[64];
  printf("文字列を入力して Enter:");
  scanf("%s", s);
  printf("[%s]\n",s);
}

実行結果

文字列を入力して Enter:あらま (←「あらま」はユーザが入力した)
[あらま]



Yutaka Yasuda (yasuda@bakkers.gr.jp)