C言語入門:break文
繰り返しを行うfor文やwhile文の説明は行いましたが、ここでは繰り返しを途中にやめるためのbreak文を説明したいと思います。 ここでは、サンプルコードの結果は書いていません。 実際に手元にサンプルコードをコピー ⇒ コンパイル ⇒ 実行してみてください。
break文
break文はforやwhileなどのループ内部で利用します。 break文が実行されると、プログラムはただちにfor文やwhile文を抜けてしまいます。
以下にbreak文を使った例を示します。 まずはfor文内でbreakを利用してみます。
#include <stdio.h>
int
main()
{
int i;
for (i = 0; i < 10; i++) {
printf("before if : %d\n", i);
if (i > 2) {
break;
}
printf("after if : %d\n", i);
}
return 0;
}
上記例では、for文を使って10回の繰り返しをやろうとしています。 for文の繰り返し内には「if (i > 2) 」という条件文があります。 この条件文はiが2より大きい値になるときに真になるので、for文が4回目の繰り返しを行おうとするときに真になります。 (i == 0、i == 1、i == 2、i == 3 ← 3 > 2で4回目です) for文内のif文が真になるとbreakが実行されます。 breakが実行されるとfor文のloopはただちに終了してしまいます。
上記サンプルの挙動を見るためには、printfでどのようなメッセージが表示されるかを観察してみてください。
サンプル2
一つ目の例ではfor文の中にbreakを書きましたが、今度はwhile文の中に書いてみます。
#include <stdio.h>
int
main()
{
int i;
i = 0;
while (1) {
printf("before if : %d\n", i);
if (i > 2) {
break;
}
printf("after if : %d\n", i);
i++;
}
return 0;
}
上記例は、サンプル1と全く同じ挙動を示します。 for文とwhile文で同じようにbreakを利用可能であることを理解していただければ幸いです。
おまけ