• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ループの回数の問題についてです。)

ループの回数の問題について

このQ&Aのポイント
  • ループの回数の問題について質問があります。
  • 質問者は、内側のforループがiが2のときにも実行されるという解説が理解できないと述べています。
  • 質問者は、iが2の場合には内部ループに入った時点でjも2になるべきだと考えているようです。

質問者が選んだベストアンサー

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.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)

taro_11
質問者

お礼

とても丁寧な解説、ありがとうございます。 ラベルとコンティニューの働きがよく分かりました。 とても感謝しております。

その他の回答 (1)

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.1

>for(int j=0; j<3; j++){ このループに入ったとき、jを0で初期化しています。 >iが2になるなら、内ループに入った時jも >2になるのではないのでしょうか。 iとjは別々の変数です。 iが何かの値を持っているからといって、 jがその値に影響されることはありません。

taro_11
質問者

お礼

回答ありがとう御座います。 かわいい猫ですね。

関連するQ&A