在窗体上画一个名称为Command1的命令按钮,并编写如下程序: Private Sub Command1_Click() Dim a As Integer Static b As Integer a = 20 b = 5 Call s

admin2015-06-30  22

问题 在窗体上画一个名称为Command1的命令按钮,并编写如下程序:
Private Sub Command1_Click()
  Dim a As Integer
  Static b As Integer
  a = 20
  b = 5
  Call sub1(a, b)
  Print a; b
End Sub
Private Sub sub1(ByRef x1 As Integer, y1 As Integer)
  x1 = x1 + 3
  y1 = x1 + y1
End Sub
程序运行后,单击命令按钮,在窗体上显示的内容是

选项 A、23  23
B、23  28
C、20  5
D、20  25

答案B

解析 用Call语句调用Sub过程,如果形参前面有关键字ByRef,则该参数按地址传送,本题中形参x1前有关键字ByRef,调用时以地址方式传递实参,调用sub过程,x1=x1+3=23,改变了实参a的值,a为23。如果形参前面没有关键字ByRef或ByVal,系统默认为按地址传递参数。调用sub过程中,x1=x1+3=23;y1=23+5=28。形参y1值的变化改变了实参b的值,故b=28。本题正确答案为选项B。
转载请注明原文地址:https://kaotiyun.com/show/xgQp777K
0

最新回复(0)