关于形参与实参值传递的问题? 5
PrivateSubForm_Click()DimaAsInteger,bAsInteger,cAsIntegera=1:b=2:c=3Callff(a,b+1,2)Pr...
Private Sub Form_Click()
Dim a As Integer, b As Integer, c As Integer
a = 1: b = 2: c = 3
Call ff(a, b + 1, 2)
Print a, b, c
Call ff(a, b, c)
Print a, b, c
End Sub
Sub ff(ByVal a As Integer, b As Integer, ByVal c As Integer)
a = a + 1
b = b + 1
c = c + 1
End Sub
这个结果为什么是
1 2 3
1 3 3 展开
Dim a As Integer, b As Integer, c As Integer
a = 1: b = 2: c = 3
Call ff(a, b + 1, 2)
Print a, b, c
Call ff(a, b, c)
Print a, b, c
End Sub
Sub ff(ByVal a As Integer, b As Integer, ByVal c As Integer)
a = a + 1
b = b + 1
c = c + 1
End Sub
这个结果为什么是
1 2 3
1 3 3 展开
3个回答
展开全部
:调用函数有2种方式,传值和传地址。 传值,就是你现在程序中的调用方式,这样不能够改变传递进来实参的值。 传地址,就是形参是引用或者是指针,这样才能改变传递进来实参的值。 这就是区别。
追问
能写个详细的过程吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这没有啥详细过程
a)不要在函数内和函数外定义同名变量来混淆自己,不利于你理解
b)对于byref形参,用b+1参数带入应该是错误,在错误行为下的结果不可预知,这应该是编译器的bug
a)不要在函数内和函数外定义同名变量来混淆自己,不利于你理解
b)对于byref形参,用b+1参数带入应该是错误,在错误行为下的结果不可预知,这应该是编译器的bug
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询