问题 单项选择题

在窗体上画一个按钮,然后编写如下的事件代码。在按钮上单击,输出为( )。
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。

单项选择题
多项选择题