永发信息网

VB,VB题,这串代码Call p(x, (y))处括号里面有个括号什么意思

答案:2  悬赏:70  手机版
解决时间 2021-03-06 19:58
VB,VB题,这串代码Call p(x, (y))处括号里面有个括号什么意思
最佳答案
(1)Sub p(ByVal n As Integer, m As Integer)

(2)Call p(x, (y))

先看第(1)句,定义的过程p()包含两个参数,其中n是传值的,m是传址的。
再来看第(2)句,调用时,x变量的值传递给n(传值)。如果y不加括号,则是传址给m;现在给y又加上了括号,则y也是传值给m的了。这是y单独加不加括号的的区别。

现在回答你的疑问:“难道是说p(x, (y))都是给n传值吗?”

答:因为变量x对应n参数,所以给n传值与y加不加括号没有关系。之后以n是传值,是因为定义过程时的说明(参见在第(1)句中byval)。追问我试了下去掉ByVal结果y还是原数,是不是只要加上括号就变味传值了追答x变量的值是传值给参数n,所以子过程中对n的赋值不会影响到x,它们已经没有关联。这是因为ByVal n As Integer的原因;
y变量的值也是传值给参数m,所以对m的赋值不会影响到y,它们已经没有关联。这是因为(y)的原因。
需要注意的是:ByVal仅仅对x->n有效,而对后面的y->m无效,所以,你去掉byval,并不会影响y的传递方式。若想两个参数都传值,要写成Sub p(ByVal n As Integer,byval m As Integer)才可以。

所以,在原程序中,你只是把byval去掉,y仍然保持的是传值状态,所以它还是原数。你说的“只要加上括号就变味传值了”是对的。
全部回答
括号没意思 就如同 1+2+2+(2*3)中的括号 有和没有全是 现计算2*3 这里也一样 有核没有都是 y传给第二个参数m
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
围棋提高效率高是多下棋还是多做死活?
什么叫学长?
铁力市国税局桃山分局地址在哪,我要去那里办
新鸿翔家具超市我想知道这个在什么地方
什么是IoC以及理解为什么要使用Ioc
海洋果蔬这个地址在什么地方,我要处理点事
我的手机只安装了八个应用就显示内存不足,怎
农村的老户和新户有区别吗
韩语五李哦吧进价莫西达是什么意思
西安哪家艺考培训播音主持编导类的好点?
1岁小孩半夜咳嗽
自己如何做卫生间防水?
永生诊所地址在哪,我要去那里办事
蓝牙耳机和普通耳机一样吗?二者有什么区别?
中医"号脉"所用的血管是
推荐资讯
如何禁止LOL自动安装腾讯游戏安全中心
买个客运资格证多少钱
晋江好玩的地方有哪些
宝骏730安装什么音响最带劲
手机老是弹出别人的ID 但自己已经有登ID在手
新疆棉花价格
中国民主同盟湖南省委员会地址有知道的么?有
雅士利品牌奶粉专卖在什么地方啊,我要过去处
饲养金鱼的人,每天都需用新鲜水置换鱼缸中的
已知a,b满足b=a-2分之a²-4的算术平方根+
我该怎么忘记婚外喜欢交往一段的好女孩呢??
下列变化属于化学变化的是A彩纸折成纸鹤B.白
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?