问题 填空题

设有如下程序
Private Sub Form Click()
Dim a As Integer, b As Integer
a=20: b=50
p1 a, b
p2 a, b
p3 a, b
Print "a="; a, "b="; b
End Sub
Sub p1(x As Integer, ByVal y As Integer)
x = x+10
y = Y+20
End Sub
Sub p2(ByVal x As Integer, y As Integer)
x = x+10
y = y+20
End Sub
Sub p3(ByVal x As Integer, ByVal y As Integer)
x = x+10
y = y+20
End Sub
该程序运行后,单击窗体,则在窗体上显示的内容是:a==______和b=______。

答案

参考答案:30
70

解析: 本题考查传地址与传值的区别,这是一个重要的考点。传地址表示参数的传送是对地址的传送,变量的原值会在调用过程时被覆盖,但传值不同,传值传送的是参数的副本,变量的值不会发生改变。本题经过三次调用,a与b分别被传地址(ByRef,默认时省略)一次,故输出时,a、b的值分别在20、50的基础上加10、20。

单项选择题
单项选择题