设有以下程序代码: Private Sub Command1_Click() Dim x As String, y As Integer x = "考试" y = 1 proc x, y Print "第"; y;

admin2015-10-23  19

问题 设有以下程序代码:
Private Sub Command1_Click()
    Dim x As String, y As Integer
    x = "考试"
    y = 1
    proc x, y
    Print "第"; y; "次"; x
End Sub
Sub proc(ByVal a As String, b As Integer)
    a = "参加" + a
    b = b + 1
End Sub
运行程序,单击命令按钮后显示的是

选项 A、第1次考试
B、第2次考试
C、第1次参加考试
D、第2次参加考试

答案B

解析 proc过程中a前有ByVal,是按值传递,即x将值传给形参a;b是按地址传递,y把地址传给了形参b,a的变化不引起x的变化,但b的变化改变了y。在过程proc中a为 "参加考试 ",b=1+1=2,调用完过程后,y=b=2,x仍为 "考试 ",故输出结果 "第2次考试 ",故选择B。
转载请注明原文地址:https://kaotiyun.com/show/XPLp777K
0

最新回复(0)