vb练习的一道题1 谢谢

在窗体上加一命令按钮,其名称为Command1,然后编写以下程序代码:PrivateSubCommand1_Click()Dima,da=10:b=20Callmult(... 在窗体上加一命令按钮,其名称为Command1,然后编写以下程序代码:
Private Sub Command1_Click()
Dim a, d
a=10: b =20
Call mult((a), b)
Print a; b
End Sub
Private Sub mult(ByRef x As Variant, y As Variant)
x=x * 2
y= y * 3
End Sub
在程序运行过程中,单击命令按钮Command1,程序的输出结果为()
(A) 10 20 (B) 20 60 (C) 10 60 (D) 20 20

请问,结果为什么不是B,而是C

谢谢,稍微解释一下。
展开
 我来答
lzh741206
2008-05-26 · TA获得超过1192个赞
知道大有可为答主
回答量:1929
采纳率:100%
帮助的人:2801万
展开全部
Private Sub mult(ByRef x As Variant, y As Variant)
x=x * 2
y= y * 3
End Sub
写错
应该是
Private Sub mult(ByVal x As Variant, y As Variant)
x=x * 2
y= y * 3
End Sub

参数传递默认为传址(ByRef)
传址会改变形参的值,传值不会
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
acd1024
2008-05-26 · 超过27用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:45.2万
展开全部
Call mult((a), b) 中"括号"()像运算符号一样会,会对他里面的东西进行进行计算, 把数值返回. 所以a无法完整ByRef 按值调用
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ickaka
2008-05-26 · TA获得超过323个赞
知道小有建树答主
回答量:358
采纳率:0%
帮助的人:0
展开全部
在这个例子中 acd1024 的说法好像更确切点吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式