单选题
下列程序的输出结果是( )。 Dim x As Integer Private Sub Command4_Click() Dim y As Integer x=3 y=10 Call fun(y,x) MsgBox"y="&y End Sub Sub fun(ByRef y As Integer,ByVal z As Integer) y=y+z z=y-z End Sub
A、
y=3
B、
y=10
C、
y=13
D、
y=7
【正确答案】
C
【答案解析】
解析:在函数参数传递中,包括按地址传递By.Ref’和按值传递ByVal两种方法。其中前者在函数体内改变变量值会影响参数外的变量,后者不会。本题y是按地址传递,调用fun()函数后,会将y的值改为fun()函数中y的值。故选择C选项。
提交答案
关闭