问题
单项选择题
在窗体上画一个按钮,然后编写如下的事件代码。在按钮上单击,输出为( )。
Private Sub fun3(x As Integer)
Static a As Integer
Dim b As Integer
a=a+3:b=b+3
a=a+x:b=b+x
Printa;b
End Sub
Private Sub Command1_Click()
Dim k As Integer,m As Integer,n As Integer
k=2:m=1
Call fun3(k)
Call fun3(m)
End Sub
A.5 5
9 9
B.5 5
9 4
C.5 5
4 4
D.5 5
4 9
答案
参考答案:B
解析: 当发生了Command1_Click事件时,定义了两个变量k和m并给它们赋初值2和1,执行第一次过程调用,把k的值按地址传递给形参x,进入过程执行,在过程中定义了一个静态变量a和一个局部变量b,执行四条赋值语句后,变量a和b的值分别为5和5,所以输出为5 5。第一次过程调用返回过后,进行第二次过程调用,进入fun过程时,要注意的是:静态变量a将依旧是上一次退出时的值5,而局部变量要重新定义,值为0。执行四条赋值语句后,变量a和b的值分别为9和4,所以输出为9 4。