选择题
如有如下Sub过程:
Sub sfun(x As Single,y As single)
t=x
x=t/Y
y=t Mod y
End sub
在窗体中添加一个命令按钮Command33,对应的事件过程如下:
Private Sub Command33_Click( )
Dim a As Single
Dim b As Single
a=5:b=4
sfun(a,b)
NsgBox a&chr(10) +chr(13) &b
End Sub
打开窗体运行后,单击命令按钮,消息框中有两行输出,内容分别为______。
【正确答案】
B
【答案解析】在VBA中,参数的传递有传值调用和传址调用,传值调用是单向的,即调用过程内部对形参的任何操作都不会反馈和影响实参的值;而传址调用则是双向的,形参值的变化会影响实参的值。VBA默认的调用方式是传址调用。调用sfun函数之前a的值为5,b的值为4。然后调用sfun(a,b),形参x=5,y=4,t=x=5,x=t/V=5/4=1.25,y=tMody=5 Mod4=1。a的值变为1.25,b的值变为1。