一道VB程序题

来源:百度知道 编辑:UC知道 时间:2024/06/30 16:17:50
Private Sub command1_click()
dim k as integer
for k = 1 to 10 step 1
print k
k = k + 1
next k
End sub
正确答案是:1,3,5,7,9。
我的答案是:1,3,5,7,9,11。
为什么不是1,3,5,7,9,11。
可以给我仔细的讲讲为什么不是循环6次而是5次呢?
谢谢各位了!解释的越详细越好!

当print k执行而打印出9时,
k=k+1 就令k变为10,
next k 也会令k加1。
此时k已是11,不符合循环条件,于是跳出。

你应该是没有明白FOR了。
FOR是这样的,FOR K=1 TO 10 STEP 1
当K=1 先判断 K是不是超过10了,不超过就往下执行,每执行完后,就STEP 1,也就是增加1 再这样比较,当增加到10的时候,和TO 后面的10相等,还没有超过10,所以还执行一次,完了后再增加1,这里K=11 了,和TO 后面的10相比较,大于10了,也就是所说的,超出上限了,所以这个时候就退出FOR 了,不再执行循环体。不知道你明白了么。STEP 后的数字是代表一次增加多少,当然后是负数的时候就是代表一次减少多少了。

不用详细解释

当k=11的时候 k已经大于10了

所以这个时候已经推出循环了!~

for 循环是先判断后循环
k=9+1是第十次
如果再进行那么k就=11了。就不会向下进行了!
明白了吗?

for语句是当型循环
先判断后执行

梦想种子 正解~