在窗体上画2个名称分别为Label1和Label2的标签,然后编写如下程序代码: Sub S(L As Label, ByVal a As Integer) L.Caption = "1234" a = a * a End Sub Priv

admin2019-03-14  29

问题 在窗体上画2个名称分别为Label1和Label2的标签,然后编写如下程序代码:
Sub S(L As Label, ByVal a As Integer)
    L.Caption = "1234"
    a = a * a
End Sub
Private Sub Form_Load()
    Label1.Caption = "ABCD"
    Label2.Caption = 10
End Sub
Private Sub Form_Click()
    Dim a As Integer
    a = Val(Label2.Caption)
    S Label1, a
    Label2.Caption = a
End Sub
运行程序,单击窗体,在两个标签中显示的内容分别是

选项 A、ABCD和10
B、1234和100
C、ABCD和100
D、ABCD和100

答案D

解析 本题中Label2.Caption的值a为ByVal按值传递,当过程调用结束后,参数所占用的存储空间也同时被释放,a的值不变,但是Label1.Caption的传递方式为默认传递方式(ByRef),对形参的改变会影响实参,即Label1.Caption会被修改为"1234"。故正确答案为选项D。
转载请注明原文地址:https://kaotiyun.com/show/R6Up777K
0

最新回复(0)