phpで質問です。
phpで質問です。 写真のコードで、$i ++を $sum+= 〜 の下の行に 書くと上手くいかないのはなぜでしょうか? 処理を終えて最後にインクリメントすると思ったので、最初に書くのは変な気がします。
ベストアンサー
2 ~ 100 までの偶数の合計を求めるのですよね。 $i が奇数のときに continue していますので、$i++ をそれ以降に書くと無限ループになります。 $i = 0; $sum = 0; while ($i <= 100) { $i++; if ($i % 2) continue; $sum += $i; } の $i++ の位置を変えるなら(continue を使わなければいいので) $i = 0; $sum = 0; while ($i <= 100) { if ($i % 2 === 0) $sum += $i; $i++; } とでもすれば問題ないと思います。 (蛇足) 一般的には forループで書くとは思いますけどね。 $sum = 0; for ($i=2; $i <= 100; $i +=2) $sum += $i; どうしても whileループにするなら $i = 0; $sum = 0; while ($i++ <= 100) if ($i % 2 === 0) $sum += $i; かなぁ・・・。
1人がナイス!しています
質問者からのお礼コメント
ありがとうございます!
お礼日時:5/18 18:49