搜索
编程论坛
→
开发语言
→
『 VB6论坛 』
→ 为什么答案是这样?
标题:
为什么答案是这样?
只看楼主
dgg实在
等 级:
新手上路
帖 子:34
专家分:0
注 册:2016-7-15
结帖率:
60%
楼主
已结贴
√
问题点数:18 回复次数:1
为什么答案是这样?
如果在过程A中用语句:Call proc(a, b) 调用下面的过程
Private Sub proc(b As Integer, ByVal a As Integer)
a = a + 1
b = b * 2
End Sub
则调用结束后的结果是
过程A中变量a的值变为原有值的2倍
为什么???
2016-10-06 18:39
风吹过b
等 级:
贵宾
威 望:
364
帖 子:4912
专家分:29900
注 册:2008-10-15
第
2
楼
得分:13
这个是考察你形参和实参的区别。
形参是写一个过程时定义的变量,这个变量在调用时,把实值的内容(地址或值)代进去。
形参的作用域为整个过程的生存周期。
在 proc 里,定义了二个形参,分别是 b ,a 。注意。
调用时,传了二个参数,分别是 a , b 。没写参数传递方式,根据VB默认的按地址传递,
根据形参的顺序,这里 在 proc 中, b=外部的a , a= 外部的b 。
过程中运算, b=b*2 ,对应参数就是 外部的a*2 。
所以最后结果 ,调用结束后, a 的值变成2倍。
授人于鱼,不如授人于渔
早已停用QQ了
2016-10-06 19:15
2
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-469471-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.199867 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved