1
    For num = 100 To 5 Step -5
        TextWindow.WriteLine(num)
    EndFor

此代码在控制台中显示的最终值是 5。但是,在 For 循环之外使用“num”变量时,“num”的值会导致 0。为什么当我执行时 num 的值不是 5指定在 5 点停止?这里发生的计算机逻辑是什么?

    For num = 100 To 5 Step -5
        TextWindow.WriteLine(num)
    EndFor
    TextWindow.WriteLine(num)

使用上面的代码片段,控制台中“num”的最终值显示为 0。

提前感谢大家抽出时间来帮助我解决这个初学者问题!

4

2 回答 2

1

这段代码

For num = 100 To 5 Step -5
    ' Body
EndFor

是相同的

num = 100

While num >= 5
    ' Body

    num = num - 5
End While

所以循环在numgets时结束0

(对不起,如果我提供的代码有错误,我是用心写的)

于 2017-06-01T19:38:39.650 回答
1

为什么num我指定在 5 停止时值不是 5?

准确地说,您指定 5 是要处理的最后一个值(即,当num为 5 时,循环体仍然运行)。在迭代结束时,计数器 ( num) 递减并开始下一次迭代。num现在为零(小于 5)并且循环退出,因为它的停止条件现在得到满足。这就是您获得该输出的方式。

于 2017-06-01T19:15:13.593 回答