举个浅显一点的例子吧:
#include
void
main()
{
int
swap(int
x,int
y)
int
a,b
......
swap(a,b);
}
int
swap(int
x,int
y)
{
......
}
在主函数中,将实指袭差参a,b的值传递给被调用函数禅旅中的形参x,y,即将a,b分别代入x,y中计算,即达到了调用的目的。
有两种方法可以喊如实现将子程序中的值传递出来。
(1)利用模块级或全局变量。例如
Option Explicit' r是一个模块级变量
Dim r As Integer
Sub Add(ByVal x As Integer, ByVal y As Integer)
'将计算结果存放到 r
r = x + y
End Sub
Private Sub Form_Click()
'调用子程序Add
Call Add(10, 20)
'获取计算结果并打印
Print r
End Sub
(2)用 ByRef 参数实现计算结果回传。 例如
Option Explicit'Add子程序利用 ByRef r As Integer 回传值
Sub Add(ByRef r As Integer, ByVal x As Integer, ByVal y As Integer)
r = x + y
End Sub
Private Sub Form_Click()
Dim r 耐羡As Integer
'调用子程序Add,计算结果回传到变量 r
Call Add(r, 10, 20)
郑亩启 '打印结果
Print r
End Sub
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)