vb题,求具体过程

 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
百度网友091845d
2014-10-10 · TA获得超过745个赞
知道小有建树答主
回答量:466
采纳率:50%
帮助的人:334万
展开全部
过程:
定义 全局 K 值为0
定义 A=11 , B=2
K = Fun((A), B) + Fun(A, A)
第一次调用(A)为传值引用,在程序中不改变A原来的值,不加的B为传址 程序中会改变B的值

Fun((A), B) || N11 M2 K0

N = N \ 2 5 2 0
K = K + N 5 2 5
N = N + 1 6 2 5
M = M + K 6 7 5
Fun = M + N = 13

print M , N => 7 6
这时 A = 11, B = 7 (fun中 M的值调用的B值的存储地址,直接修改就把B的值改了)

K = 13 + Fun(A, A)
第二次调用是全部为A的传址调用,就是 N和M的值是同一个,同步修改A的值

Fun(A, A) || N11 M11 K5

N = N \ 2 5 5 5

K = K + N 5 5 10

N = N + 1 6 6 10

M = M + K 16 16 10

Fun = M + N = 32
print M, N =>16 16
这时 A = 16, B = 7 (你可以输出一下)
K = 13 + 32 = 45
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友44bfc62
2014-10-10 · 超过17用户采纳过TA的回答
知道答主
回答量:56
采纳率:100%
帮助的人:27.6万
展开全部
程序执行到K=FUN()+FUN()时,首先运行第一个FUN((A),B),调用FUN函数,这时N=A=11,M=B=2,N=N/2=6(四舍五入,奇数加1),k=k+N=26,N mod 2=0,不执行IF,m=M+K=2+6=8,FUN=M+K=8+6=14,输出M,N,所以第一行是8,6
这时候运行第二个FUN(A,A),同理这样去做,注意K为全局变量,这时K为6
最后结果是
8,6
18,18
50
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式