導入
ループの途中で「もう抜けたい」「この回だけ飛ばしたい」ときに使うのが break と continue です。
説明
break; はループをその場で終了します。目的が達成できたら止める、という使い方が典型です。
#include <stdio.h>
int main() {
for (int i = 1; i <= 100; i++) {
if (i * i > 50) {
printf("%d で初めて2乗が50を超えた\n", i);
break; // ここでループを抜ける
}
}
return 0;
}
continue; は、その回の残りを飛ばして次のくり返しへ進みます。条件に合うものだけ処理したいときに使います。
#include <stdio.h>
int main() {
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) continue; // 偶数はスキップ
printf("%d ", i); // 奇数だけ
}
printf("\n"); // 1 3 5 7 9
return 0;
}
break と continue はどちらも for だけでなく while や do-while でも同じように使えます。
やってみよう
break の条件や continue の条件を変えて、表示される数がどう変わるか確かめましょう。
演習
for (int i = 1; i <= 20; i++) のループで、continue を使って3の倍数だけを表示してください(3 6 9 12 15 18)。
ヒント1を見る
3の倍数以外を飛ばします。if (i % 3 != 0) continue;。