请教一下VB题:窗体中有一个命令按钮,编写如下程序,程序运行后,输出结果为?

我试了一下,答案是D,为什么输出“Main:223”?窗体中有一个命令按钮,编写如下程序,程序运行后,输出结果为___(27)___。PrivateSubtest(p,m... 我试了一下,答案是D,为什么 输出“Main: 2 2 3” ?
窗体中有一个命令按钮,编写如下程序,程序运行后,输出结果为___(27)___。

Private Sub test(p,m,n)
p=p+1: m=m+1: n=n+1
Print “Sub:”; p; m; n
End Sub

Private Sub Command1_Click()
a1=1: b1=2: c1=3
Call test(a1,b1+3,(c1))
Print “Main:”; a1; b1; c1
End Sub

(A) Sub: 2 6 4 Main: 2 6 4
(B) Sub: 2 6 4 Main: 1 6 4
(C) Sub: 2 6 4 Main: 1 2 3
(D) Sub: 2 6 4 Main: 2 2 3
展开
 我来答
loumou
2011-01-06 · TA获得超过865个赞
知道小有建树答主
回答量:1049
采纳率:0%
帮助的人:716万
展开全部
我认为Call test(a1,b1+3,(c1)) 中三个实参都是传址的。
只不过第二个参数传的是 b1+3 的地址,不是b1的,所以不会改变b1的值
第三个 我认为()也是一种运算符,要不()怎么会有优先级呢。所以传的是(c1)的地址。

要是这题让我做,我也会错。错在第三个参数上。哎。。。。
Uplus_new
2011-01-06 · TA获得超过1259个赞
知道小有建树答主
回答量:810
采纳率:0%
帮助的人:784万
展开全部
VB中调用函数时参数有的是传值传递有的是传址传递,像Call test(a1,b1+3,(c1))
第一个是传址,后面两个是传值,就是说a1所在地址中的数据被改变了,但b1,c1所在地址的数据没有被改变,只是把它们的值拷贝出来用了一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式