明日試験を受けなければならないのですが、練習問題の 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
、そこに無限ループがあります。