假定有如下的Sub过程: Sub sfun(x As Single,y As Single) t=x x=t/y y=t Mod y End Sub 在窗体上添加一个命令按钮(名为Commandl),然后编写如下事件过程: Private Sub Comm

admin2019-02-19  37

问题 假定有如下的Sub过程:
Sub sfun(x As Single,y As Single)
t=x
x=t/y
y=t Mod y
End Sub
在窗体上添加一个命令按钮(名为Commandl),然后编写如下事件过程:
Private Sub Commandl_Click()
Dim a as single
Dim b as single
a=7
b=2
sfun(a,b)
MsgBox a&chr(10)+chr(13)&b
End Sub
打开窗体运行后,单击命令按钮,消息框的两行输出内容分别为(     )。

选项 A、2和1
B、3.5和l
C、3.5和7
D、7和2

答案B

解析 本题考查VBA中参数传递的知识。在VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时没有说明传递类型,则默认为传址传递,即形参的结果会传递给实参。本例就是传址传递,所以过程调用时x=a.也就是7;y=b,也就是2。在过程内x的值变为7/2也就是3.5,y的值变为7 Mod 2也就是1。过程调用结束时x和v的值分别回送给a和b,故B)选项正确。
转载请注明原文地址:https://kaotiyun.com/show/d90p777K
0

最新回复(0)