关于vb中参数传递的问题

2024-12-20 13:08:35
推荐回答(1个)
回答1:

看下代码和运行(双击)结果来理解: 

1、变量是为程序分配的一段内存空间,程序通过变量名读写内存,显然变量名与这段内存空间的首地址对应。 

2、第一个参数传值,表示x变量是a变量的副本,即x的类型和初始值与a相同,但它们有各自的内存空间,在函数过程中无论如何改写x,都与a无关。 

2、第二个参数传址,表示y变量是b变量的别名,即b和y变量对应的是相同的内存空间,所以在函数过程中对y的任何操作也就是对b的操作。 

你的要求我满足了, 给分哈!!! 

Private Sub s(ByVal x As Integer, ByRef y As Integer) 

Print "s函数开始" 

Print "x=" & x, "y=" & y 

x = x + 10: y = y + 10 

Print "x=" & x, "y=" & y 

Print "s函数结束" 

End Sub 

Private Sub Form_DblClick() 

Dim a As Integer, b As Integer 

a = 100: b = 200 

Print "a=" & a, "b=" & b 

Call s(a, b) 

Print "a=" & a, "b=" & b 

End Sub