私のコードは次のようなものです:-
for() //outer for
{
for() //inner for
{
if()
{
break;
}
}
}
breakステートメントが実行されると、次の実行はどのforループになりますか?これは非常に抽象的な質問であることは知っていますが、完全なコードを書く時間は本当にありません。ありがとう。
私のコードは次のようなものです:-
for() //outer for
{
for() //inner for
{
if()
{
break;
}
}
}
breakステートメントが実行されると、次の実行はどのforループになりますか?これは非常に抽象的な質問であることは知っていますが、完全なコードを書く時間は本当にありません。ありがとう。
ステートメントは、それが現れるbreak
最も近い囲み、、、またはステートメントの実行をdo
終了します。この場合、それは内側だけから抜け出すことを意味します。for
switch
while
for
編集: 標準リファレンス: 6.6.1breakステートメント[stmt.break]
1 breakステートメントは、反復ステートメントまたはswitchステートメントでのみ発生し、最小の囲んでいる反復ステートメントまたはswitchステートメントを終了させます。制御は、終了したステートメントに続くステートメントに渡されます(存在する場合)。
break
インナーを壊す**loop**
だけです。呼び出された場所でのみ最も近いループを中断します。
この例では、if
条件が満たされると、内側のforループの反復が停止し、外側のforループに戻ります(続行します)。
必要に応じて、gotoを使用して外側のループを解除することもできます。
break
はそれを囲むスコープを離れるだけなので、外側のループを壊す方法が必要になります。状態の管理に使用するものは何でもかまいませんが、最も単純な形式では、ブール値を使用して、それと最も外側のループの元の状態を確認できます。
bool breakLoop = false;
for(...; ... && !breakLoop; ...) //outer for
{
for() //inner for
{
if()
{
breakLoop = true;
break;
}
}
}