- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ループの回数の問題についてです。)
ループの回数の問題について
このQ&Aのポイント
- ループの回数の問題について質問があります。
- 質問者は、内側のforループがiが2のときにも実行されるという解説が理解できないと述べています。
- 質問者は、iが2の場合には内部ループに入った時点でjも2になるべきだと考えているようです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> continue文によりouterへ移動する > という所までは理解出来ます。 continue文は,ラベルouterへただジャンプするのではなく, ラベルouterが付けられた繰り返しブロックの次のループへ移る,という機能です。 次のループへ移る,ですから,増分が実行されます。 以下,iとjの変化のトレースです。 ---------------- i=0, j=0 … "Hello"表示 i=0, j=1 … "Hello"表示 i=0, j=2 … "Hello"表示 i=1, j=0 … "Hello"表示 i=1, j=1 … ラベルouterが付けられたブロック(外側のforブロック)の次のループへ。 continueなのでi++の増分はおこなわれる。 i=2, j=0 … "Hello"表示 i=2, j=1 … "Hello"表示 i=2, j=2 … "Hello"表示 … i==2なので外側のforブロックを終了(break)
その他の回答 (1)
- asuncion
- ベストアンサー率33% (2127/6289)
回答No.1
>for(int j=0; j<3; j++){ このループに入ったとき、jを0で初期化しています。 >iが2になるなら、内ループに入った時jも >2になるのではないのでしょうか。 iとjは別々の変数です。 iが何かの値を持っているからといって、 jがその値に影響されることはありません。
質問者
お礼
回答ありがとう御座います。 かわいい猫ですね。
お礼
とても丁寧な解説、ありがとうございます。 ラベルとコンティニューの働きがよく分かりました。 とても感謝しております。