For循环模运算符

时间:2013-02-07 20:16:00

标签: powershell modulo

我明天要参加考试,其中一个练习题如下:

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

这个问题的答案应该是该行中可能的最低数字等于4,最高数字等于9。

但是,如果你问我,最高的数字是8?因为当$ i变为9时,计算结果为0?

如果(显然)错误,请纠正我。

1 个答案:

答案 0 :(得分:3)

它也会打印9。的 For loop.

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

AFTERTHOUGHT在循环的 END 处执行。因此,它将执行Write-Host 9然后执行i = 9 % 9 = 0 ,此时,检查的条件变为false。


此外:

i++后递增是条件检查显示0并退出循环的原因。 如果它是++i,则会有无限循环。