有以下程序代码: Private Sub Command1_Click () Print fun(10), fun(5) End Sub Private Function fun(n As Integer) As Integer Stati

admin2015-09-23  29

问题 有以下程序代码:
Private Sub Command1_Click ()
    Print fun(10), fun(5)
End Sub
Private Function fun(n As Integer) As Integer
    Static t
    For k = 1 To n
        t = t + k
    Next k
    fun = t
End Function
执行Command1_Click过程产生的输出是(    )。

选项 A、55    15
B、55    70
C、15    55
D、15    70

答案B

解析 Command1_Click过程中两次调用fun函数,第一次调用时,将10传递给形参n,在fun函数过程中定义了一个静态变量i,i的初始值为0,并且变量i的结果可以保留。fun函数中For循环的功能是对1到n之间的值进行累加,循环执行10次,t的值为1+2+3+……+10=55,将累加值通过变量t返回到主调过程Command1_Click中进行输出,结果为55;主调过程Command1_Click第二次调用函数fun,将5传递给形参n,此时静态变量i保留了上次程序执行的结果55,再循环执行5次,t的值为55+1+2+3+4+5=70,将累加结果通过变量t返回到主调过程Command1_Click中进行输出,结果为70。故选项B正确。
转载请注明原文地址:https://jikaoti.com/ti/hJJ0FFFM
0

最新回复(0)