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

admin2010-09-11  24

问题 单击命令按钮时,下列程度段的执行结果为(    )。    Private Sub Command1_Click()    Dim a As Integer, b As Integer, c As Integer        a=2:b=4:c=6        Call S1(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:c=x+y    End Sub

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

答案4

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

最新回复(0)