问题:
[单选] 运行下列程序,窗体中的显示结果是:( )。OptionCompare Database
Dim X AsInteger
PrivateSub Form_Load()
x=3
EndSubPrivate Sub Commandll_click()
Static aAs Integer
Dim b AsInteger
b=x^2
funl x,b
funl x.b
MsgBox”x=‘’&x
End Sub
Subfunl(ByRef Y As Integer,ByVal z AS Integer)
y=y+z
z=y-z
End Sub
A . x=3
B . x=2
C . x=21
D . x=12
参考答案:C
参考解析:
flag函数第一个参数是ByRef传递参数,所以实参也会被改变,而第二个参数是ByVal形式传递参数,不会改变实参的值,因此经过两次调用funl函数后,X的值为21,而b的值9不会改变。