注意

入力促進(prompt)について

プログラムで入力を読み込む前に, 「データを入れてください」のような 文字列を出力することがある. これは教科書のサンプルプログラムにもよく見られる. たとえば p.59 の List 3-5 の17行め.
printf("年齢を入力してください。\n"); gets(buffer); age = atoi(buffer);

こういう出力を「入力促進記号(prompt)」と呼んだりする. その効果としては, 利用者に何を入力するのかを教える働きがある. これを出力しないと, プログラムは入力待ちで黙って停止することになり, 利用者がとまどうので, それを防止する点もある.

しかし, この授業では, こうした入力促進は行わないことにしよう. つまり, printf で出力するのは, 計算の結果だけにする. 理由はいくつかある:

getsを使ったときの警告メッセージについて

今回紹介した, getsを使ったプログラムをコンパイルすると,
warning: the `gets' function is dangerous and should not be used.
のような警告メッセージが表示されるかもしれない. 日本語にすると, 「gets は危険だから使うな」ということ. しかし, 教科書がこれを使っていることでもあるし, この授業のあいだはこの警告を無視して使うことにしよう. (警告を無視してもプログラムは動作する)
気になる人は,
gets(buffer);
の代わりに
fgets(buffer, sizeof buffer, stdin);
とすればよい. こちらは安全なのです.

[page 5] prev index next