标题:循环变量终值为什么会改变
只看楼主
黄玉宏
Rank: 2
等 级:论坛游民
帖 子:17
专家分:15
注 册:2007-10-12
结帖率:75%
已结贴  问题点数:20 回复次数:2 
循环变量终值为什么会改变
简单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  ?请各位高手帮忙看看

 
搜索更多相关主题的帖子: 超越 动态 
2013-12-11 09:30
seafish011
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:167
专家分:694
注 册:2011-11-8
得分:10 
for...next语句,当省略了step的话,则step的缺省值为 1。
当所有循环中的语句都执行后,step 的值会加到 counter 中。也就是j,所以j会比i大1
如果你在第二个next后加入msgbox i 你会发现此时的i= i+1
2013-12-11 11:07
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
得分:10 
这是对的

无知
2013-12-11 13:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-425041-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.112684 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved