在窗体上画一个名称为Command1的命令按钮,然后编写如下程序代码: Private Sub Command1_Click() Dim a As Integer, b As Integer a = 5: b = 10 Call mysub(a

admin2019-03-08  19

问题 在窗体上画一个名称为Command1的命令按钮,然后编写如下程序代码:
Private Sub Command1_Click()
  Dim a As Integer, b As Integer
  a = 5: b = 10
  Call mysub(a, b)
  Print a; b
End Sub
Private Sub mysub(ByRef x As Integer, y As Integer)
  x = x + 5
  y = y * 2
End Sub
以下叙述中正确的是

选项 A、针对过程调用语句Call mysub(a, b)来说,实参a和形参x间的参数传递方式为传值
B、程序运行时,单击Command1,在窗体上的输出结果为10  20
C、当调用mysub过程时,在过程中对形参y值的改变不影响其对应实参的值
D、上述程序的执行顺序是:执行Command1_Click过程后,再执行mysub过程

答案B

解析 用Call语句调用Sub过程。如果形参前面有关键字ByRef,则该参数按地址传送,如果形参前面没有关键字ByRef或ByVal,系统默认为按地址传递参数。选项A,实参a与形参x间的参数传递方式是按地址。故选项A错误;调用mysub过程中,实参a和b都是按地址传送,调用完成后会改变原实参的值。故选项B正确,选项C错误;程序的执行顺序是,先执行Command1_Click过程,再执行mysub过程,再打印出变量a,b的值后,再退出过程,选项D错误。故本题正确答案为B。
转载请注明原文地址:https://kaotiyun.com/show/YlFp777K
0

最新回复(0)