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

admin2019-06-11  18

问题 窗体上有一个名称为Commandl的命令按钮,其单击事件过程如下:
    Private Sub Command l_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/hRUp777K
0

最新回复(0)