基本:为什么结果与For循环中的值不同?

时间:2017-06-01 19:12:27

标签: for-loop console-application basic smallbasic

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

控制台中显示的此代码的最终值为5.但是,使用' num'在For循环之外的变量,' num'结果为0.当我指定停在5时,为什么num的值不是5?这里发生的计算机逻辑是什么?

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

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

先谢谢大家花一点时间帮助我解决这个初学者问题!

2 个答案:

答案 0 :(得分:1)

  

当我指定停在5时,为什么num的值不是5?

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

答案 1 :(得分:1)

此代码

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

相同
num = 100

While num >= 5
    ' Body

    num = num - 5
End While

因此当num获得0时,循环结束。

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