问题 单项选择题

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

A.5和3

B.25和3

C.25和6

D.5和6

答案

参考答案:B

解析: 由于在Proc过程中, a、b的传送方式都是传值,故在“Commandl Click()”事件过程中,变量x、Y的地址未发生变化,但由于调用proc过程后,变量x被赋予了新值a*a,所以在单击命令按钮后,Label1显示为25,Label2没有发生变化,因为Y变量事先未声明,为事件过程变量,在未采用传地址方式下Sub过程中的Y与事件过程中的Y互不干扰。所以本题答案为B。

单项选择题
单项选择题