一道vb题,求教

来源:百度知道 编辑:UC知道 时间:2024/06/04 09:46:13
Private Sub Form_click()
k = 0
For j = 1 To 2
For i = 1 To 3
k = i + 1
Next i
For i = 1 To 7
k = k + 1
Next i
Next j
Print k
End Sub

答案为什么是11 ? 还有For j = 1 To 2这句有什么用?
希望大侠们清晰的把过程告诉我哦~~~谢谢

这是一个嵌套循环
内层循环For i = 1 To 3
执行完后,K=4
然后是 For i = 1 To 7
执行完后 K=11
然后外层循环j=1 to 2
一共执行两次的
由于内层循环k=i+1
这时i重新复制
因此k也重新复制
所以
无论外层j执行多少次
k的值都是11

Private Sub Form_click()
k = 0
For j = 1 To 2
For i = 1 To 3
k = i + 1 '外圈循环不起作用,k在这里被赋值
Next i
For i = 1 To 7
k = k + 1
Next i
Next j
Print k
End Sub

修改建议:
k = i + 1
改为 k = k+ 1

k=11
注意第一个循环嵌套
For i = 1 To 3
k = i + 1
Next i
在这里当j=2的时候,k的值会被重置,当这次循环结束时k=4,然后在
For i = 1 To 7
k = k + 1
Next i
循环结束时,由累加得到k=11
For j = 1 To 2在这里是一个大的循环内部嵌套了两个顺序的小循环

K 就是等于 11。J=1 to 2 这个循环没用,因为每次进入循环 K 又被重新赋值啦

可以逐步 分析!

k = 0
For j = 1 To 2
For i = 1 To 3 j=1,k=2,3,4; j=2,k=2,3,4
k = i + 1
Next i
For i = 1 To 7 j=1,k=5,6,7,8,9,10,11 ; j=2,k=5,6,7,8,9,10,11