假定在窗体中的通用声明段已经定义有如下的子过程: Sub f(x As Single,y As Single) t=x x=y y=t End Sub 在窗体上添加一个命令按钮,名为Command1,然后编写如下事件过程: Private Sub Comm

admin2013-01-20  45

问题 假定在窗体中的通用声明段已经定义有如下的子过程:
Sub f(x As Single,y As Single)
t=x
x=y
y=t
End Sub
在窗体上添加一个命令按钮,名为Command1,然后编写如下事件过程:
Private Sub Command1Click()
Dim a As Single
Dim b As Single
a=10
b=20
f(a,b)
MsgBox a & b
End Sub
打开窗体运行后,单击命令按钮,消息框输出的结果为(          )。

选项 A、2010
B、1020
C、1010
D、2020

答案A

解析 参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,则说明此参数为传值调用,此时形参的变化不会返回到实参;若用ByRef声明,则说明此参数为传址调用,此时形参的变化将会返回到实参;若没有说明传递类型,则默认为传址传递。即形参的结果会传递给实参。本题中形参完成了交换,由于默认为传址传递,交换后的值也会影响实参a和b,即a和b也完成了交换。正确选项为A。
转载请注明原文地址:https://kaotiyun.com/show/bVup777K
0

最新回复(0)