窗体上有一个名称为Commandl的命令按钮,并有如下程序代码: Private Sub Command l_Click() Static a a=1:b=2:c=3 Call f(

admin2013-10-16  26

问题 窗体上有一个名称为Commandl的命令按钮,并有如下程序代码:
    Private Sub Command l_Click()
           Static a
           a=1:b=2:c=3
           Call f(a,b,c)
           Print a;b;c
    End Sub
    Sub f(ByVal x,ByRefy,z)
           x=x+1:y=y+1:z=z+l
    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/DGQp777K
0

最新回复(0)