新手请教VB编程问题

来源:百度知道 编辑:UC知道 时间:2024/06/06 13:12:41
代码如下:
Private Sub Command1_Click()
Dim i As Integer
For i = 10 To 20 Step 2
i = i + 3
Next i
Print i
End Sub
为什么结果是25呢?麻烦解释一下,像这种循环变量和变量一样的情况是怎么分析的?

它是按 i 的实际值来算的。
首先,i = 10 ,
在 for 指定的范围内,执行;
i = i + 3 ,变成 13 ,step 2 ,变成 15 ,
仍在范围内,继续,先后变成 18 ,20 ,
i = 20 还是在范围内,继续,
+ 3 变成 23 ,step 2 ,变成 25 ,不符合了,
结束。
你可以在 for 那一句和 i = i + 3 那一句之间加句
msgbox str(i)
在 i = i + 3 和 next i 之间也加一句,
这样你就能跟踪 i 的变化了。

你这个根本没有循环。
For i = 10 To 20 Step 2
i = i + 3
Next i
意思是i从10开始,每步+2,然后再加3.
Print i
是指把i=20时候的得数输出来。也就是20+3+2.
根本没有循环。
应该是:
Private Sub Command1_Click()
Dim i As Integer
For i = 10 To 20 Step 2
i = i + 3
Print i
Next i
End Sub
答案是:13,18,23