2

明日試験を受けなければならないのですが、練習問題の 1 つが次のとおりです。

for ($i = 3; $i++; $i %= 9) { Write-Host $i } 

この質問に対する答えは、この行の可能な最小数は 4 に等しく、最大数は 9 に等しいということです。

しかし、私に言わせれば、最大数は 8 でしょうか? $i が 9 になると、計算結果が 0 になるからですか?

(明らかに)間違っている場合は修正してください。

4

1 に答える 1

3

も印刷9されます。For loop..

for (INITIALIZATION; CONDITION; AFTERTHOUGHT) {..}

AFTERTHOUGHTループのENDで実行されます。したがって、それを実行してWrite-Host 9からi = 9 % 9 = 0を実行すると、その時点でチェックされる条件が false になります。


さらに:

i++ポストインクリメントであることが、条件チェックで 0 が表示されてループを終了する理由です。もしそれが だったら++i、そこに無限ループがあります。

于 2013-02-07T20:20:35.340 に答える