break 文
繰り返し文の中で、例外的な問題が発生したなどの理由から、強制的に文から抜け出したい場合はbreak文を使います。break文はswtich文でも使いましたが、現在の制御文から強制的に抜け出すという性質を持ちます。break文を用いることで、意図的な無限ループなどから脱出できるようになります。
break;
break文は、キーワードとセミコロンのみで構成されます。この文は、繰り返し文の本体の中で使われると、対象の文を抜け出します。break文のような、無条件で制御の流れを変える性質をもった文を分岐文とも呼びます。どのような状況であれ break文が実行されると、繰り返し文やswitch文の制御ブロックから抜け出します。
サンプル07
#include <stdio.h>
int main(void)
{
while(1)
{
printf ("while 文の本体\n");
break;
}
printf("while 文から抜け出しました\n");
return 0;
}
実行結果
サンプル07は、制御式に1を指定したwhile文の中でbreak 文を使って制御から抜け出しています。while文の制御式に1を与えているため、強制的に抜け出す方法を与えない限り無限ループとなってしまいます。しかし、break 文を使うことで制御式の結果とは無関係に、強制的に繰り返し文の処理を中断できます。
break文の効果は、直近の繰り返し文にのみ作用します。よって、break文を実行したコードを制御しているもっとも内側の繰り返し文から抜け出します。2階層以上の繰り返し文の内側でbreakを実行した場合、内側の文から抜け出します。
for (i = 0 ; i < width ; i++)
{
for (j = 0 ; j < height ; j++)
{
break;
}
}
上のようなコードでbreak文が実行されると、内側のfor文から抜け出すだけで、外側のfor文は繰り返し実行されます。