问题
单项选择题
若有如下程序:
Private Sub Command1_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)
Static b
a=0
a=a+1
b=b+1
H=a*b+j
End Function
单击命令按钮,执行程序,输出结果是( )。
A) 2
3
4
B) 3
4
5
C) 5
6
7
D) 3
5
6
答案
参考答案:B
解析: 函数H中定义了一个静态变量b,被Static修饰的变量,其生命周期为程序的整个执行过程,所以它能够累计记录三次调用函数H的变化。第1次调用H函数后,b值为 1,函数的返回值3;第2次b值为2,函数的返回值4;第3次b值为3,函数的返回值5。