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