设有如下Commandl的单击事件过程及fun过程: Private Sub Commandl一Click() Dim x As Integer x=Val(InputBox(“请输入一个整数”)) fun(x) E

admin2020-07-22  43

问题 设有如下Commandl的单击事件过程及fun过程:
    Private Sub Commandl一Click()
    Dim x As Integer
    x=Val(InputBox(“请输入一个整数”))
    fun(x)
    End Sub
    Private Sub fun(x As Integer)
    If x Mod 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。
转载请注明原文地址:https://jikaoti.com/ti/GaS0FFFM
0

最新回复(0)