在窗体上画一个名称为Command1的命令按钮,再画两个名称分别为Label1、Label2的标签,然后编写如下程序代码: Private X As Integer Private Sub Command1_Click() X=5:Y=3 Call pro

admin2018-06-20  30

问题 在窗体上画一个名称为Command1的命令按钮,再画两个名称分别为Label1、Label2的标签,然后编写如下程序代码:
Private X As Integer
Private Sub Command1_Click()
X=5:Y=3
Call proc(X,Y)
Label1.Caption=X
Label2.Caption=Y
End Sub
Private Sub proc(a As Integer,ByVal b As Integer)
X=a*a
Y=b+b
End Sub
程序运行后,单击命令按钮,则两个标签中显示的内容分别是(    )。

选项 A、25和3
B、5和3
C、25和6
D、5和6

答案A

解析 虽然在过程proc中参数a默认为按地址传递,参数b指定了ByVal(按值)方式传递,但过程中并没有对a,b的值改变,只对变量X和Y进行了赋值,而X是在窗体模块中起作用的模块变量,而变量Y在proc过程中没有声明,要整个模块中也没有声明,说明它是一个局部变量,只在本过程中起作用。因此,在proc过程中X=a*a=5*5=25,会使按钮单击事件中的变量X值变为25,而按钮单击事件过程中的变量Y不受影响,仍是原来的值3。因此两个标签上会分别显示25和3。
转载请注明原文地址:https://jikaoti.com/ti/mpy0FFFM
0

最新回复(0)