Private Sub Test(X As Integer)
X = X * 2 + 1
If X < 6 Then
Call Test(X)
End If
X = X * 2 + 1
Print X
End Sub
Private Sub Form_Click()
Test 2
End Sub运行结果为什么是23
47我只算出有23,为什么会有两个值,为什么会有47,47又是怎么算出来的呢
X = X * 2 + 1
If X < 6 Then
Call Test(X)
End If
X = X * 2 + 1
Print X
End Sub
Private Sub Form_Click()
Test 2
End Sub运行结果为什么是23
47我只算出有23,为什么会有两个值,为什么会有47,47又是怎么算出来的呢
断点debug一下就知道了
为什么又会执行
End If
X = X * 2 + 1
Print X
End Sub
X = X * 2 + 1 ……2*2+1=5
If X < 6 Then ……5<6
Call Test(X) ……调用自身 Private Sub Test(X As Integer)
X = X * 2 + 1 ……5*2+1=11
If X < 6 Then ……not 11<6
Call Test(X)
End If
X = X * 2 + 1 ……11*2+1=23
Print X ……打印23
End Sub
End If
X = X * 2 + 1 ……23*2+1=47
Print X ……打印47
End Sub
(jhone)