设有如下程序 Private Sub Form Click() Dim a As Integer, b As Integer a=20: b=50 p1 a, b p2 a, b

admin2010-03-30  24

问题   设有如下程序
   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。
转载请注明原文地址:https://kaotiyun.com/show/3i1p777K
0

最新回复(0)