在窗体上画一个命令按钮,然后编写如下事件过程。
Private Sub Command1_Click( )
Dim m As Integer, n As Integer, p As Integer
m=3: n=5:p=0
Call Y(m, n, p)
Print Str(p)
End Sub
Sub Y(ByVal i As Integer, ByVal j As Integer, k As Integer)
k=i+j
End Sub
程序运行后,如果单击命令按钮,则在窗体上显示的内容是
A.4
B.6
C.8
D.10
参考答案:C
解析:[命题目的] 考查考生对调用通用过程中参数传递方式的掌握情况。
[解题要点] 此程序考查了函数的调用,函数过程有3个形参,功能是将第1个与第2个形参的和赋给第 3个形参,其中前两个形参是按值传递,不会影响实参的数值,即在调用函数过程的过程中,不变化实参的数值;而第3个形参是按址传递,传递的是实参的地址,这样实参会随着过程中形参的变化而变化,即改变实参的数值。在主调过程中定义了3个整型变量,分别赋值 3、5、0,调用过程后m、n的数值仍然是3、5,而p的值不再是0而变为8,即m、n的和,这也是被调函数的作用。
[错解分析] 参数按传值方式传递时,不改变实参中的值;按传地址的方式传递时,实参和形参指向同一个存储地址,所以实参指向的内容被改变。
[考点链接] 参数传递方式的概念和应用