问题 单项选择题

阅读下列程序:
Private Sub Commad1_Click()
Dim i As Integer,k As Integer
k=2
For i=1 To 3
Print H(k)
Next i
End Sub
Function H(j As Integer)
a=0
Static b
a=a+1
b=b+1
H=a*b+j
End Function
程序运行后,单击命令按钮输出结果是

A.234

B.345

C.567

D.356

答案

参考答案:B

解析: 在此题中,被调过程是一个函数过程,它有一个形式参数j,在被调过程声明中,定义了一个参数a,初值为o,一个静态变量b。语句a=a+1和b=b+1分别使a和b各增加1,然后返回H的值,因为b是静态变量,所以每次调用同一个参数k时,b会保留前次的数值,使输出结果变化,否则每次输出的结果都将是一样的。根据分析,第一次调用时a=1,b=1,H=3;第二次凋用:a=1,b= 2,H=4;第三次调用:a=1,b=3,H=5。所以最后的输出结果是345。

单项选择题
单项选择题