我明天要参加考试,其中一个练习题如下:
for ($i = 3; $i++; $i %= 9) { Write-Host $i }
这个问题的答案应该是该行中可能的最低数字等于4,最高数字等于9。
但是,如果你问我,最高的数字是8?因为当$ i变为9时,计算结果为0?
如果(显然)错误,请纠正我。
答案 0 :(得分:3)
它也会打印9
。的 For loop.
强>
for (INITIALIZATION; CONDITION; AFTERTHOUGHT) {..}
AFTERTHOUGHT
在循环的 END 处执行。因此,它将执行Write-Host 9
然后执行i = 9 % 9
= 0 ,此时,检查的条件变为false。
此外:
i++
后递增是条件检查显示0并退出循环的原因。
如果它是++i
,则会有无限循环。