二级VB的一道题

来源:百度知道 编辑:UC知道 时间:2024/07/06 13:55:45
31.单击窗体时,下列程序代码的执行结果为____。
Private Sub Form_Click( )
Text 2
End Sub
Private Sub Text(x As Integer)
x=x*2+1
If x<6 Then
Call Text(x)
End If
x=x*2+1
Print x;
End Sub
A、23 47
B、11
C、10 22
D、23

为什么会再次执行TEXT呢?

算到11不是没了么?

答案:A
因为是递归调用
Private Sub Text(x As Integer)
x=x*2+1
If x<6 Then
Call Text(x)
End If
x=x*2+1
Print x;
End Sub

Call Text(x) 这句是从头开始执行Text,完后还要返回End If继续下面的语句