编写如下程序: Private Sub Command1_Click() Dim k As Integer x = 1 For k = 1 To 3 x = x * fun(k) Next k Pri

admin2015-06-30  26

问题 编写如下程序:
Private Sub Command1_Click()
    Dim k As Integer
    x = 1
    For k = 1 To 3
        x = x * fun(k)
    Next k
    Print x
End Sub
Function fun(x As Integer) As Integer
    Static a
    a = a + 1
    fun = a * x
End Function
程序运行后,单击命令按钮Command1,输出结果为

选项 A、6
B、36
C、3
D、30

答案B

解析 函数fun中a是静态变量,在没有退出程序前,每次引用静态变量后,其值会继续保留,作为下次引用时该变量的初始值。在For 循环中,当k为1时,调用fun函数,a为1,返回值为1,x=1*1=1;当k为2时,调用fun函数,a为2,返回值为2*2为4,x=1*4=4;当k为3时,调用fun函数,a为3,返回值为3*3,x=9*4=36。故输出结果为36,B项正确。
转载请注明原文地址:https://kaotiyun.com/show/UgQp777K
0

最新回复(0)