单击命令按钮时,下列程序段的执行结果是( )。 Private Sub Commandl Click() Dim a As Integer’b As Integer,c As Integer a=2:b=4:c=6

admin2012-12-08  30

问题 单击命令按钮时,下列程序段的执行结果是(     )。
    Private Sub Commandl Click()
    Dim a As Integer’b As Integer,c As Integer
    a=2:b=4:c=6
    Call Sl(a,b)
Print“a=”;a;“b=”.b;“c=”;c
Call S2(a,b)
    Print“a=”;a;“b=”;b;“c=”:C:
    End Sub
    Private Sub S1(X As Integer,Y As Integer)
    Dim C As Integer
    x=2*x:y=Y+2:c=X+y
  End Sub
    Sub S2(x As Integer,ByVal Y As Integer)
    Dim e As Integer
    x=2*x:y=Y+2:e=x+y
    End Sub

选项 A、a=4 b=6 c=6
a=4 b=6 c=6
B、a=8 b=6 c=6
a=8 b=6 C=6
C、a=4 b=6 c=6
a=8 b=6 c=6
D、a=8 b=6 c=6
a=4 b=6 c=6

答案C

解析 在定义子过程的参数时,如果在参数前加上ByVal。表示“传值”参数,主调函数中参数的值不被改变;否则表示是“传地址”参数,参数值会被调用的子过程改变。
题中S1过程的参数是“传地址”,因此调用后a、b、c的值都改变了,分别为4、6、6:s2过程的参数a是“传地址”参数,b是“传值”参数,因此调用后a值改变.b值不变,因为c是过程变量,所以也没有变化,因此输出的值为8、6、6。
转载请注明原文地址:https://kaotiyun.com/show/9Vhp777K
0

最新回复(0)