|
楼主 |
发表于 2015-1-29 14:41
|
显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 香川群子 于 2015-1-30 17:40 编辑
补充:
另外一种For……Next 多层嵌套循环结构时,(组合或排列算法时常用)
微软工程师允许我们对Next语句进行简化(如果不影响运行要求时。)
即,上例可写作:
Sub test()
For i = 1 To 10
For j = 1 To 10
For k = 1 To 10
s = s + 1 'Next i, j, k '方向反錯誤(最外层变量 i 放在第1个是错误的!)
Next k, j, i '变量从内到外排列才是正解!(最内层变量k放第1个、最外层变量 i 要在最后)
MsgBox s
End Sub
在这里,Next语句可在最后合并为一句,并把各层次的循环计数器变量名称,以逗号分隔写在一起。
【注意】正确的顺序只有一种: 最外层(最开始)的变量 i 也要写在最外面(最右侧最后1个),而最内层(最后的)变量 k 要写在第1个(左侧第1个)
(即按代码从上到下顺序对应为从右到左的反过来的顺序),且不能缺失
Next k, j, i是正确的
而Next i, j, k 或 Next k, j, j 或 Next j, i, k 等都是错误的。
即,Next k, j, i '这样的顺序时,排在外面最后的那个循环变量先执行。
可以这么理解:
For i = 1 To 10
For j = 1 To 10
For k = 1 To 10
s = s + 1
Next k
Next j
Next i
最后的Next部分按从上到下顺序合并:
Next k
Next j
Next i
自然就成为 Next k, Next j, Next i 的顺序
省去中间红色部分的Next,就成为了: Next k, j, i
呵呵。
|
评分
-
1
查看全部评分
-
|