Private Sub Form_Click()
j = 10
For i = 1 To j
i = i + 2
j = j - i
Next i
Print i
Print j
End Sub
编译后输出i=13,j=-20
能不能帮我解释为什么j=-20
是怎么得来到的
j = 10
For i = 1 To j
i = i + 2
j = j - i
Next i
Print i
Print j
End Sub
编译后输出i=13,j=-20
能不能帮我解释为什么j=-20
是怎么得来到的
Private Sub Command1_Click()
Dim i As Integer
Dim j As Integer
j = 10
For i = 1 To j
i = i + 2
j = j - i
Print i & "," & j
Next i
Print i
Print j
End Sub
得到的结果:3,7
6,1
9,-8
12,-20
13
-20这就看得很明白了,
程序第一次运行了 for i=1 to j 时,已经把j编译成10(不是变量)了,以后的每次循环,都是把i与10作比较,而不是与变量j作比较。
j=7
i=6
j=1
i=9
j=-8
i=12
j=-20Final:
i=13j=-20
程序只循环了三次
2 i=6 j=1
3 i=9 j=-8
4 i=12 j=-20