作业帮 > 综合 > 作业

下面两个问题有什么区别?

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/04/27 21:36:54
下面两个问题有什么区别?
Dim A as integer,B as integer
A=1
B=2
Call AAA(A,B)
Print A,B '得到的结果是2 3 (形参的改变影响到了实参)
Call BBB(A,B)
Pring A,B '得到的结果跟上面的一样,2 3(形参的改变并没有影响到这个实参)
Sub AAA(I as integer,J as integer) '默认,则按址传递
i=i+1
J=J+1
End Sub
Sub BBB(ByVal I as integer,ByVal J as integer)
i=i+1
J=J+1
End Sub
为什么两个问题的结果都是2 不是说传值和传地址是不一样的么?
下面两个问题有什么区别?
Call AAA(A,B)
时 得到的结果是2 3
这是变量的值已经变化了:A=2,B=3(因为是传地址)
Call BBB(A,B)的时候你的A,B因为之前调用了AAA()所以值变成了A=2,B=3
现在在BBB()因为是传值所以A,B的值还是2,3没有变化,
所以得到的结果还是2 3
哈哈