问题 单项选择题

单击命令按钮时,下列程度段的执行结果是( )。
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 S 1(x As Integer, Y As Integer)
Dim CAs Integer
x=2 * x:y=y+2:c=x+y
End Sub
Sub S2(x As Integer, ByVal Y As Integer)
Dim eAs 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

解析: 在定义子过程的参数时,如果在参数前加上ByVaI,表示是“传值”参数,主调函数中参数的值不被改变;否则表示是“传地址”参数,参数值会被调用的子过程改变。
题中S1过程的参数是“传地址”,因此调用后a、b、c的值都改变了,分别为4、6、6,S2过程的参数中a是“传地址”参数,b是“传值”参数,因此调用后a值改变,b值不变,因为C是过程变量,所以也没有变化,因此输出的值为8、6、6。

单项选择题 A型题
单项选择题