解释一道VB题

来源:百度知道 编辑:UC知道 时间:2024/05/28 03:12:09
Private Sub Form_Click()
Dim i%
For i = 3 To 8
List1.AddItem i
Next i
For i = 1 To 3
List1.RemoveItem i
Next
End Sub

运行结果是 3 5 7 为什么?

对程序行编号如下:
1、Private Sub Form_Click()
2、Dim i%
3、For i = 3 To 8
4、List1.AddItem i
5、Next i
6、For i = 1 To 3
7、List1.RemoveItem i
8、Next
9、End Sub
执行顺序及list的内容如下:
1
2
3 i=3
4 i=3,list:3
5
4 i=4,list:3,4
5
4 i=5,list:3,4,5
5
4 i=6,list:3,4,5,6
5
4 i=7,list:3,4,5,6,7
5
4 i=8,list:3,4,5,6,7,8
6 i=1
7 i=1,list:3,5,6,7,8。这里将第“1”项4删掉了(注意,前面的3时第“0”项)
8
7 i=2,list:3,5,7,8。注意最早的第“3”向成了第“2”项,在这里被删除。
8
7 i=3,list:3,5,7。同样,上面的第“3”项被删除。
8
9

这个哪有为什么啊...
首先循环..添加列表中3 4 5 6 7 8
然后删除..
3(0) 4(1) 5(2).....
所以1的时候删除4
剩下3(0) 5(1) 6(2)....
2的时候删除6....
然后就是3...也就是8...最后剩下的不就是3 5 7 了?