问题 单项选择题

在窗体上画一个名称为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。

单项选择题
判断题