问题
单项选择题
设有如下Command1的单击事件过程及fun过程:
Private Sub Command1_Click( )
Dim x As Integer
x = Val( InputBox( "请输入一个整数" ) )
fun(x)
End Sub
Private Sub fun( x As Integer)
If x Nod 2 =0 Then fun(x / 2)
Print x ;
End Sub
执行上述程序,输入6,结果是( )。
A) 3 6
B) 6 3
C) 6
D) 程序死循环
答案
参考答案:A
解析: 题目中fun过程是一个递归过程,它的结束条件是参数值为奇数。第一次调用,参数值为6,是偶数所再次调用fun过程,这次参数为6/2=3,是奇数,不再调用自身,接着执行下一句输出参数值即3,然后返回第一次调用过程中执行下一句输出第一次调用参数值,即6。因此程序会输出3 6。