窗体上有一个名称为Commandl的命令按钮,并有如下程序代码: Private Sub Commandl_Click() Sub f(ByVal x,ByRef Y,z) Static a

admin2019-06-11  18

问题 窗体上有一个名称为Commandl的命令按钮,并有如下程序代码:
Private Sub Commandl_Click()      Sub f(ByVal x,ByRef Y,z)
  Static a                             x=x+1:y=y+1:z=z+1
  a=1:b=2:c=3                   End Sub
  Call f(a,b,c)
   Print a;b;c
End Sub
运行程序,单击命令按钮,窗体上显示的是

选项 A、1  3  3
B、1  3  4
C、2  3  3
D、2  3  4

答案B

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

最新回复(0)