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