【发布时间】:2013-02-07 20:15:59
【问题描述】:
我明天要考试,其中一道练习题如下:
for ($i = 3; $i++; $i %= 9) { Write-Host $i }
这个问题的答案应该是这一行的最小可能数字等于 4,最大数字等于 9。
但是,如果你问我,最大的数字是 8?因为当 $i 变为 9 时,计算结果为 0?
如果(明显)错了,请纠正我。
【问题讨论】:
标签: powershell modulo
我明天要考试,其中一道练习题如下:
for ($i = 3; $i++; $i %= 9) { Write-Host $i }
这个问题的答案应该是这一行的最小可能数字等于 4,最大数字等于 9。
但是,如果你问我,最大的数字是 8?因为当 $i 变为 9 时,计算结果为 0?
如果(明显)错了,请纠正我。
【问题讨论】:
标签: powershell modulo
它也会打印一个9。 For loop.。
for (INITIALIZATION; CONDITION; AFTERTHOUGHT) {..}
AFTERTHOUGHT 在循环的 END 处执行。因此,它将执行Write-Host 9,然后执行i = 9 % 9 = 0,此时,随后检查的条件变为假。
另外:
i++ 是后增量是条件检查显示 0 并退出循环的原因。
如果是++i,就会出现无限循环。
【讨论】:
for 循环将继续执行。如果需要,可以捕获和处理错误。这只是意味着执行不会因为语法错误而停止。