在窗体上有一个命令按钮Commandl,编写事件代码如下: Private Sub CommandI_Click() Dim x As Intege YAs Integer X=12:y=32 Call Proc(x,y)

admin2015-08-28  19

问题 在窗体上有一个命令按钮Commandl,编写事件代码如下:
    Private Sub CommandI_Click()
    Dim x As Intege YAs Integer
    X=12:y=32
    Call Proc(x,y)
    End  Sub
    Public Sub Proc{h As Integer,ByVal m As Integer)
    n=n Mod 10
    m=m Mod 10
    End  Sub
    打开窗体运行后,单击命令按钮,立即窗口上输出的结果是

选项 A、2 32
B、12 3
C、2 2
D、12 32

答案A

解析 在VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用By’Val声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用By:Ref声明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。因此调用函数实参x是传址方式传递,实参y为传值方式传递,调用函数后x值在函数中随形参改变,即X=X mod 10=12 mod 10=2,而v不随之改变。
转载请注明原文地址:https://kaotiyun.com/show/PPgp777K
0

最新回复(0)