if や else は基本的に次に続く1つの文しか実行しない。複数の文を実行したいときには、それらの文を中括弧 { } で囲ってやる。こうすることで複数の文を1つのまとまりとして実行してくれる。これをコードブロック、または複文と呼ぶ。
コードブロックは単一の文を書けるところならどこにでも書ける。
次のプログラムは、メートル-フィート換算のプログラムをコードブロックを使って書いたもの。if と else のあとにそれぞれコードブロックが続いている。
#include
int main(void)
{
float num;
int choice;
printf("1: feet to meter, 2: meter to feet\n");
printf("Choice: ");
scanf("%d", &choice);
if (choice == 1) {
printf("How feet? ");
scanf("%f", &num);
printf("%f\n", num / 3.28);
} else {
printf("How meters? ");
scanf("%f", &num);
printf("%f\n", num * 3.28);
}
return 0;
}
実行例:
takatoh@nightschool $ ./sample_2_3 1: feet to meter, 2: meter to feet Choice: 2 How meters? 1.5 4.920000