问题 单项选择题

单击窗口时,下列程序代码的执行结果为 
Private Sub Form_Click( )
Text1
End Sub
Private Sub Text(x As Integer)
x=x*3+1
if x<6 Then
call Text(x)
End if
x=x*2+1
Print x;
End Sub

A.27 55

B.11 35

C.22 45

D.24 51

答案

参考答案:A

解析: 难点在于Sub过程Text中嵌套了一个Text过程。根据Text的描述,当把1以传地址的方式传送给x时,x的值为4,此时x的值满足If条件,所以再次执行1次Text过程。第2次执行时,x的值变为13,此时跳过If语句,执行x=x*2+1语句,x值变为27,随后用Print方法输出。注意,到此时,整个Text过程仅仅执行完了call Text(x)这一语句块,结束这个语句块,系统接着执行x=x*2+1语句,由于x参数的传地址的方式传送,此时在执行该句前,x的值为27,执行完之后x的值为55,再将这一值输出。窗体上显示27与55。

单项选择题
单项选择题