List 5-1 | 0501.c |
List 5-2 | 0502.c |
List 5-3 | 0503.c |
List 5-4 | 0504.c |
List 5-5 | 0505.c |
List 5-6 | 0506.c ※間違い探し:コンパイルエラーが発生します。 |
List 5-7 | menu.c |
プログラムは単にそのまま実行するだけでなく, 読んで理解しよう. できたらどこか一箇所を変更して, 結果を確かめよう.
List 5-2 のプログラムには, 「getchar()」という見なれない関数が使ってある. これは, 標準入力(つまりキーボード)から, 文字を1文字だけ入力するものである. 以前出てきた「gets()」は一行まるごと文字配列に読み込んでいたが, それとは違う. 教科書ではP.151に説明がある.
List 5-6 の間違い探しは, 教科書に答が載っているけれど, まずコンパイルしてみてエラーメッセージを観察してから考えよう.
List 5-7 の24行目に「#define DOS_MENU 1」という行があるが,
ここの計算機環境は Unix であるので, これは「#define DOS_MENU 0」のように
1 を 0 に変更してからコンパイルしよう.
また, 56行目には「for(;;){」という奇怪な文がある.
for文は前回やったが, そこでは括弧の中に(1)初期化 (2)条件 (3)次の一歩 を書くと
学んだ. ここではそれが全部「空」になっているのだ.
そのばあい, 「初期化」と「次の一歩」に関しては何もしないことを指定したことになる.
「条件」が空の場合, 常に真とする約束になっている. つまり,これは
「終了しない繰返し」いわゆる無限ループになっているのだった.