有下面程序代码: Private Sub Command1_Click() Dim a a = Array(1, 2, 3, 4, 5) Call proc(A) For k = 0 To 4 Print a

admin2018-05-08  17

问题 有下面程序代码:
Private Sub Command1_Click()
    Dim a
    a = Array(1, 2, 3, 4, 5)
    Call proc(A)
    For k = 0 To 4
        Print a(k);
    Next k
End Sub
Private Sub proc(ByVal x)
    For k = LBound(x) To UBound(x)
        x(k) = x(k) * 2
    Next k
End Sub
运行Command1_Click过程产生的输出是

选项 A、2 4 6 8 10
B、1 2 3 4 5
C、5 4 3 2 1
D、10 8 6 4 2

答案B

解析 用Call语句调用Sub过程。如果形参前面有关键字ByRef,则该参数按地址传送,形参x1前有关键字ByVal,调用时按值传递,形参对实参的值作更改不会改变相应实参的值。最后要输出的是数组a中元素,而调用过程proc不会改变相应实参,所以完全可以不用看过程proc,直接进入For循环,打印出数组中各个元素值。故最后结果为1,2,3,4,5。本题正确答案为B。
转载请注明原文地址:https://kaotiyun.com/show/bYGp777K
0

最新回复(0)