问题 单项选择题

假定有如下的Sub过程:


Sub sfun(x As Single,y As Single)


t=x


x=t/y


y=t Mod y


End Sub


在窗体上添加一个命令按钮(名为Command1),然后编写如下事件过程:


Private Sub Command1_Click()


Dim a As Single


Dim b As single


a=5


b=4


sfun a,b


MsgBox a & chr(10)+chr(13) &b


End Sub


打开窗体运行后,单击命令按钮,消息框的两行输出内容分别为( )。

A.1和1

B.1.25和1

C.1.25和4

D.5和4

答案

参考答案:B

解析: 本题考查VBA中参数传递的知识。在VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时没有说明传递类型,则默认为传址传递,即形参的结果会传递给实参。本例就是传址传递,所以过程调用时x=a,也就是5;y=b,也就是4。在过程内x的值变为5/4也就是1.25,y的值变为5 Mod 4也就是1。过程调用结束时x和y的值分别回送给a和b。

单项选择题
判断题