一道VB题目,求解答。请详细,多谢多谢!
在窗体上画一个命令按钮(Command1),并编写如下代码:FunctionFun1(ByValaAsInteger,bAsInteger)DimtAsIntegert=...
在窗体上画一个命令按钮(Command1),并编写如下代码:
Function Fun1(ByVal a As Integer, b As Integer)
Dim t As Integer
t = a - b
b = t + a
Fun1 = t + b
End Function
Private Sub Command1_Click()
Dim x As Integer
x = 10
Print Fun1(Fun1(x, (Fun1(x, x - 1))), x - 1)
End Sub
单击命令按钮,输出结果是。 展开
Function Fun1(ByVal a As Integer, b As Integer)
Dim t As Integer
t = a - b
b = t + a
Fun1 = t + b
End Function
Private Sub Command1_Click()
Dim x As Integer
x = 10
Print Fun1(Fun1(x, (Fun1(x, x - 1))), x - 1)
End Sub
单击命令按钮,输出结果是。 展开
5个回答
展开全部
a是按值传递,b是按地址传递~
Fun1(x, x - 1)=Fun1(10,9)=(10-9)+(10-9+10)=12
Fun1(x, (Fun1(x, x - 1))=Fun1(10,12)=(10-12)+(10-12+10)=6
Fun1(Fun1(x, (Fun1(x, x - 1))), x - 1)=Fun1(6,9)=(6-9)+(6-9+6)=0
Fun1(x, x - 1)=Fun1(10,9)=(10-9)+(10-9+10)=12
Fun1(x, (Fun1(x, x - 1))=Fun1(10,12)=(10-12)+(10-12+10)=6
Fun1(Fun1(x, (Fun1(x, x - 1))), x - 1)=Fun1(6,9)=(6-9)+(6-9+6)=0
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
总共调用3层Fun1
最里面1层:Fun1(x,x-1) = x-(x-1)+x+x-(x-1) = 12
中间:Fun1(x,12) = x-12+x+x-12 = 3x-24 = 6
最外面:Fun1(6,x-1) = 6-(x-1) + 6 + 6-(x-1) = 0
所以最后结果是0
最里面1层:Fun1(x,x-1) = x-(x-1)+x+x-(x-1) = 12
中间:Fun1(x,12) = x-12+x+x-12 = 3x-24 = 6
最外面:Fun1(6,x-1) = 6-(x-1) + 6 + 6-(x-1) = 0
所以最后结果是0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输出结果为0,可以直接在VB里运行代码,也可以自己算
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
0
a是byval传值的,b不是。
a是byval传值的,b不是。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询