问题 单项选择题

在窗体上有一个命令按钮Command1,编写事件代码如下:
Private Sub Command1_Click()
Dim x As Integer,y As Integer
x=12:y=32
Call Proc(x,y)
Debug.Print x;y
End Sub
Public Sub Proc(n As Integer,ByVal m As Integer)
n=n Mod 10
m=m Mod 10
End Sub
打开窗体运行后,单击命令按钮,窗口上立即输出的结果是______。

A.2 32
B.12 3
C.2 2
D.12 32

答案

参考答案:A

解析: 参数有两种传递方式:传址传递ByRef和传值传递ByVal。如果没有说明传递类型,则默认为传址传递。在函数Proc(n As Integer,ByVal m As Integer)参数中,形参n默认为传址传递,形参的变化将会返回到实参,即形参n mod 10(12 mod 10)得到的结果2将返回给实参x,即x=2;而y为传值类型,不因形参的变化而变化,所以输出的x和y应为2和32。

填空题
问答题