明日試験を受けなければならないのですが、練習問題の 1 つが次のとおりです。
for ($i = 3; $i++; $i %= 9) { Write-Host $i }
この質問に対する答えは、この行の可能な最小数は 4 に等しく、最大数は 9 に等しいということです。
しかし、私に言わせれば、最大数は 8 でしょうか? $i が 9 になると、計算結果が 0 になるからですか?
(明らかに)間違っている場合は修正してください。
明日試験を受けなければならないのですが、練習問題の 1 つが次のとおりです。
for ($i = 3; $i++; $i %= 9) { Write-Host $i }
この質問に対する答えは、この行の可能な最小数は 4 に等しく、最大数は 9 に等しいということです。
しかし、私に言わせれば、最大数は 8 でしょうか? $i が 9 になると、計算結果が 0 になるからですか?
(明らかに)間違っている場合は修正してください。
も印刷9されます。For loop..
for (INITIALIZATION; CONDITION; AFTERTHOUGHT) {..}
AFTERTHOUGHTループのENDで実行されます。したがって、それを実行してWrite-Host 9からi = 9 % 9 = 0を実行すると、その時点でチェックされる条件が false になります。
さらに:
i++ポストインクリメントであることが、条件チェックで 0 が表示されてループを終了する理由です。もしそれが だったら++i、そこに無限ループがあります。