注册 登录
编程论坛 VB6论坛

循环变量终值为什么会改变

黄玉宏 发布于 2013-12-11 09:30, 332 次点击
简单VB编程变量会超出循环极值
Sub SS()
For I = 1 To 3
For j = 1 To I - 1
Z = j   '保存J值
MsgBox "I=" & I & "   J=" & j & "  Z=" & Z   '循环内显示动态J值并保存到Z变量中
Next
MsgBox "i=" & I & "   j=" & j & "  z=" & Z  '退出一重循环后显示J,不明白J最大能达到I - 1为什么能显示出J能=I?
Next
End Sub
如上一个极简单的二重循环,现在我们假设I=3那J从1循环到2,最大J能达到2,但在二重循环结束后会显示出J=3,也就是为什么循环变量J会变成3超越了循环极值 I  - 1  ?请各位高手帮忙看看

 
2 回复
#2
seafish0112013-12-11 11:07
for...next语句,当省略了step的话,则step的缺省值为 1。
当所有循环中的语句都执行后,step 的值会加到 counter 中。也就是j,所以j会比i大1
如果你在第二个next后加入msgbox i 你会发现此时的i= i+1
#3
Artless2013-12-11 13:29
这是对的
1