• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:break;で、どうしてこのような実行結果になるのかわかりません。どな)

break文の実行結果について

このQ&Aのポイント
  • break文を含むコードの実行結果について疑問があります。
  • break文の効果が正しく働かず、表示される結果が予想と異なることに驚いています。
  • 特定の条件でbreak文を使用した場合、一部の結果が表示されない理由を教えてください。

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

  • ベストアンサー
  • andy_kun
  • ベストアンサー率23% (64/274)
回答No.1

まぁ~当たり前といえば当たり前なんですけどね。 break;が実行されると内側のforループを抜けるからです。 0+1=1でbreakするので、次はjが1になります。 1+0=1でbreakするので、次はjが2になります。 と言うわけで、 0+2=2 1+1=2 1+2=3 は実行されません。

tentouxx
質問者

お礼

なるほど、当たり前なんですね! 「0+1=1」はbreakします(゜ω゜)(。_。)(゜ω゜)(。_。)「1+0=1」もbreakします(゜ω゜)(。_。)(゜ω゜)(。_。) breakした時に、「i」には行かず、次は、「j」に行くんですね。 分った気がします。。。。 ありがとうございました!

その他の回答 (1)

  • arlquin
  • ベストアンサー率23% (3/13)
回答No.2

コードはこれで間違い無いですか? ifの後を「{}」で囲ってい無いんですかね? もしそうなら私とは書式が違うコーディングなんで分かりませんが… $jのループを(1)、$iのループを(2)とした場合 if分で変数$iと変数$jの合計が「1」になった場合(2)のループを強制的に抜けるわけですから 変数$iの値が次に進まずループを抜けて変数jの値が次に進みます。 どう言う意図のプログラムか分かりませんが もし$i+$jが「1」の場合は表示しないと言うプログラムならば、 下の様な感じじゃないでしょうか? ※テストしてないので動作の保証は出来ませんが… =========================================== <?php for($j=0; $j<3; $j++){  for($i=0; $i<3; $i++){   if($j+$i!=1){    print "$j + $i = ";    print ($j + $i)."<br>\n";   }  } } ?> ============================================

tentouxx
質問者

お礼

詳しく教えて頂きありがとうございます。 「変数$i」の値まで行かず、「変数j」の値が次に進むんですね。 わかった気がします・・・・・。 ありがとうございました!

関連するQ&A