按值传递

来源:百度知道 编辑:UC知道 时间:2024/05/11 00:40:44
在窗体上画一个名称为Command1的命令按钮

,再画两个名称分别为Label1、Label2的标

签,然后编写如下程序代码:
Private X As Integer
Private Sub Command1_Click()
X=5:Y=3
Call proc(X,Y)
Label1.Caption=X
Label2.Caption=Y
End Sub

Private Sub proc(ByVal a AS

Integer,ByVal b As Integer)
X=a*a
Y=b+b
End Sub
程序运行后,单击命令按钮,则两个标签中

显示的内容分别是______。
答案应该是5和3吧?因为x和y都是按值传递的参数

为什么没有人回答你呢?多给点分吗!

不行?算了!答案是25和3.
为什么?因为你在第一行定义时只定义了X(Private X As Integer),
没有定义Y,所以b的计算值无法传递给Y。Y还是3但是你定义了X,a计算后的值传递给X了。