在窗体中添加一个名称为Command1的命令按钮,然后编写如下事件代码

PrivateSubCommand1_Click()DimxAsInteger,yAsIntegerx=12:y=32CallP(x,y)MsgBoxx*yEndSubP... Private Sub Command1_Click()
Dim x As Integer, y As Integer
x = 12: y = 32
Call P(x, y)
MsgBox x*y
End Sub
Public Sub P(n As Integer, ByVal m As Integer)
n = n Mod l0
m = m Mod l0
End Sub
窗体打开运行后,单击命令按钮,则消息框的输出结果为__【11】__。
关键是为什么?
展开
 我来答
Negamax
2012-03-22 · TA获得超过2721个赞
知道小有建树答主
回答量:656
采纳率:100%
帮助的人:280万
展开全部
结果:64
这是一个很老的题目,就是函数在传递参数时候的2种方式。
ByVal就是值的传递。就是把Y的值12给变量m,m的改变与Y没有任何关系,虽然M=M mod 10=2,但是Y还是32.
而默认的是传地址(引用),后面的n和X都是指向的内存里的同一个位置,这样n如果改变的话,X也就变了。所以n Mod 10=2 这句话后X就等于2了。
完整的应该是:
Public Sub p (ByRef n As Integer,ByVal m As Integer)
……
End Sub
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式