问题
单项选择题
有下列函数过程:
Function Func2(a As Integer,b As Integer)As Integer
Staticm As Integer,i As Integer
m=0
i=2
a=i+m+1
b=i+a+b
Func2=m
End Function
在窗体上画一个命令按钮,然后编写下列事件过程:
Private Sub Command1_Click()
Dim p As Integer,k As Inmger,m As Integer
k=4
m=1
p=Func2(k,m)
Prim k;m
p=Func2(k,m)
Print k;m
End Sub
程序运行后,单击命令按钮,输出结果是( )。
A.3 6<CR>3 6
B.3 6<CR>3 11
C.3 11<CR>3 6
D.3 11<CR>3 11
答案
参考答案:B
解析:本题意在考查调用Func2时,参数是按地址传递的,所以两次调用Func2时,实参k、m的值都改变了。程序运行过程如下:
第一次调用Func2(k,m),k被行参a改变为3,m被行参改变为6;第二次调用函数后,a为3,m为11。