主题:for next 多重循环为什么不能交叉???
njlbjt
[专家分:0] 发布于 2007-07-05 11:14:00
如题
回复列表 (共11个回复)
沙发
&佑慧妹妹& [专家分:660] 发布于 2007-07-05 12:57:00
因为循环需要终止
如:
FOR I = 1 TO 10
FOR J = 1 TO 10
S = S + 1
NEXT I
NEXT J
上题就是个错误语句,因为二层循环没有结束,一层循环就已经终止了
可以说FOR-NEXT语句是一对,中间不能再插入单独的FOR语句或单独的NEXT语句
不知道自己说的对不对,还请MOZ老师,Matodied指教
板凳
moz [专家分:37620] 发布于 2007-07-05 13:32:00
对
3 楼
Matodied [专家分:7560] 发布于 2007-07-05 15:08:00
为什么?
因为如果交叉了,比如:
n=10
FOR i=1 TO n:FOR j=1 TO n
PRINT i*j
NEXT i,j
那么在i=1,j=1的时候,执行NEXT i时,不是j=j+1,而是i=i+1,这样循环j一共只执行了n次,而正常应该执行n*n次的,这样就混乱了。
4 楼
moz [专家分:37620] 发布于 2007-07-05 16:09:00
不对
5 楼
Matodied [专家分:7560] 发布于 2007-07-05 16:20:00
怎么不对了?
明明应该这样执行:
i j
1 1
1 2
......
1 10
2 1
2 2
......
2 10
......
10 1
10 2
......
10 10
但是如果交叉就变成这样的了:
i j
1 1
2 1
3 1
......
10 1
所以不能交叉.
6 楼
moz [专家分:37620] 发布于 2007-07-05 16:52:00
你不应该假设不可能发生的事情.
脱衣服不应该先脱里面的.
7 楼
CSCSCSCS [专家分:140] 发布于 2007-07-06 14:36:00
QB的循环只能从里到外,一层一层,不能相互交叉或跨倚
应该是这样的
8 楼
njlbjt [专家分:0] 发布于 2007-07-07 00:48:00
对各位老师的回复表示感谢!!
9 楼
staa [专家分:3690] 发布于 2007-07-10 10:06:00
交叉了就乱套了, 逻辑上说不走.
10 楼
小小傻瓜 [专家分:150] 发布于 2007-07-27 16:44:00
交叉会死循环
我来回复