窗体上有一个名称为Commandl的命令按钮,其单击事件过程如下: Private Sub Command1_Click() Dim x As Integer,y As Integer Static z As Integer x=

admin2020-01-02  19

问题 窗体上有一个名称为Commandl的命令按钮,其单击事件过程如下:
Private Sub Command1_Click()
    Dim x As Integer,y As Integer
    Static z As Integer
    x=3:y=5:z=y
    Call f(x,y,z)
    Print x;y;z
    End Sub
    Private Sub f(ByVal a As Integer,ByRef b As Integer,c As Integer)
        a=a+a:b=b+b:c=c+c
End Sub
    运行程序,单击命令按钮时,3个标签中显示的内容分别是

选项 A、3 5 5
B、3 5 10
C、3 10 5
D、3 10 10

答案D

解析 在Visual Basic中调用过程时,参数有两种传递形式:按值传递(Byval)和按址传递(Byref),默认为按址传递。其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量的值。本题中f的参数a是按值传递的,b和c是按地址传递的,因此在f中对a的改变不会影响实参x,对b和c的操作会影响实参x和y。
转载请注明原文地址:https://kaotiyun.com/show/A6Tp777K
0

最新回复(0)