问题 单项选择题

在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写如下程序:
Private Sub Command1 Click()
Dim x, y, z As Integer
x = 5
y = 7
z = 0
Text1.Text = " "
Call P1(x, y, z)
Text1.Text=Str(z)
End Sub
Sub Pl(ByVal a As Integer, ByVal b As Integer, c As Integer)
c = a + b
End Sub
程序运行后,如果单击命令按钮,则在文本框中显示的内容是

A.0

B.12

C.Str(z)

D.没有显示

答案

参考答案:B

解析: 本题主要考查传值与传地址的区别。在Visual Basic中,参数通过两种方式传送。传地址通过关键字ByRef实现,可以通过改变过程中相应的参数来改变变量的值;而在传值方式下,Visual Basic为形参分配内存空间,并将相应的实参拷贝给各形参。本题中形参c默认以传地址的方式传送参数。在事件过程中调用时,变量2经过运算后,不再保留原来的值,而变为12,故本题正确答案为B,而不是A。

选择题
选择题