问题 单项选择题

在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
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

解析: 在Fullction((参数表列))过程中,“参数表列”指明了调用时传送给过程的参数的类型和个数,每个参数的格式为:
[ByVal][ByRef]变量名[( )][As数据类型]
其中系统默认为ByRef,它指明参数传送是传地址进行的,实际参数变量的值会由于过程中对形参的操作而改变。而ByVal则不同,参数传送是传值传送的,实际参数变量的值不再由于过程中对形参的操作而改变,本题目中过程fun1的参数n传地址引用,而参数m是传值引用,因此x的值改变,x=21\10+1=2;而y值不改变,仍为54。答案为选项B。

选择题
判断题