问题
单项选择题
在窗体上画一个名称为Commandl的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
Dim x As Integer,y As Integer
x = 41: y = 54
Call sub1(x,y)
x = x + 1
Print x; y
End Sub
Private Sub sub1(n As Integer, ByVal m As Integer)
n=n Mod 10
m=m\10
End Sub
程序运行后,单击命令按钮,则窗体上显示的内容是
A.41 54
B.2 54
C.1 3
D.42 3
答案
参考答案:B
解析:
[分析]: 在Function((参数表列))过程中,“参数表列”指明了调用时传送给过程的参数类型和个数,每个参数的格式为:
[ByVal][ByRef]变量名[()][As数据类型]其中系统默认为ByRef,它指明参数传送是以传地址进行的,实际参数变量的值会由于过程中对形参的操作而改变。而ByVal则不同,参数传送,是以传值传送的,实际参数变量的值不再由于过程中对形参的操作而改变,本题目中过程sub1的参数n是传地址引用,而参数m是传值引用,因此x的值改变,x=21\10+1=2;而y值不改变,仍为54。答案为选项B。