中易网

以下程序的运行结果是20 28还是20 18?求过程 Dim x As Integer,y as

答案:2  悬赏:0  
解决时间 2021-12-30 10:55
以下程序的运行结果是20 28还是20 18?求过程
Dim x As Integer,y as integer,z as integer
Subs1(a as integer,b as integer)
Dim c as integer
a=2*a:b=b+2:c=a+b
End sub
Sub s2(a As integer,ByVal b as integer)
Dim c as integer
a=2*a
b=b+2
c=a+b
End sub
private sub command1_click()
x=4:y=4:z=6
call s2(x,y)
print x+y+z
End sub
最佳答案
'程序执行后x=4:y=4:z=6,调用子过程s1,执行a=2*a后a为8,执行b=b+2后b为6,执行c=a+b后c为14
'结束s1子过程,由于是传址,x,y的值相应的变为a,b的值,也就是此时x=8,y=6
'执行print x+y+z  ,x+y+z=8+6+6=20,所以输出20
'调用子过程s2,执行a=2*a后a为16,执行b=b+2后b为8,执行c=a+b后c为24
'结束s2子过程,由于a是传址,x的值相应的变为a的值,也就是此时x=16,由于b是传值,y的值不变,依然是6
'执行print x+y+z  ,x+y+z=16+6+6=28,所以输出28
'最后结果为20  28
Dim x As Integer, y As Integer, z As Integer
Sub s1(a As Integer, b As Integer)
   Dim c As Integer
   a = 2 * a
   b = b + 2
   c = a + b
End Sub
Sub s2(a As Integer, ByVal b As Integer)
    Dim c As Integer
    a = 2 * a
    b = b + 2
    c = a + b
End Sub
Private Sub Command1_Click()
   x = 4: y = 4: z = 6
   Call s1(x, y)
   Print x + y + z
   Call s2(x, y)
   Print x + y + z
End Sub
全部回答
应该是变量调用的问题 你可以先把程序发出来,我帮你参考,修改一下
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
听别人说温岭大溪东方医院有做三维的,需要预
电脑F盘的一些文件夹和文件丢失的原因~
略历的意思是什么?略历的释义是什么啊?
电脑买过来自带win10,去重置了下系统,换成
儿童如何测骨龄?
双睩的意思是什么啊?请解释下!
我想找一个计算 电费的 软件《峰平谷 + 损耗
做梦梦见去买东西在回来的路上玩上车啊时候突
居俭的意思是什么?居俭的释义是什么啊?
剑侠情缘手游什么时候开测?
惊霆的意思是什么啊?请解释下!
娇蔓蜜使用后有副作用吗?谁知道
固垒的意思是什么?固垒的释义是什么啊?
三国群英传7中的比武大会中怎样才能挑战神兽
外港的意思是什么?外港的释义是什么啊?
推荐资讯
大家头围是多少我身高180头围59算小吗
滦水里社区居委会地址在什么地方,想过去办事
金溪县建设环境保护局地址有知道的么?有点事
洗衣机不脱水了
往昔的意思是什么?往昔的释义是什么啊?
大崔庄村委会地址在哪,我要去那里办事
空名堂牒的意思是什么?空名堂牒的释义是什么
審報的意思是什么?審報的释义是什么啊?
broken的动词变化
如何让excel中一列的数字中的某两个或几个数
夏天睡帐篷如何制冷
惠普cq4o一612丅x电脑无法开机
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?