求解,过程要详细点,谢谢

 我来答
丨呜呼哀哉
2010-09-14 · TA获得超过285个赞
知道小有建树答主
回答量:145
采纳率:0%
帮助的人:174万
展开全部
这题的难点在于对","的了解。
也就是fun函数的第一个参数传进去的到底是几。
","赋值时,最终的值是最后一个数,比如下面这个:
n = (1, 2, 3); //n = 3
所以fun函数也一样,先赋值前面的a,然后a++,接着b,b++;此时a=2,b=3,最后a+b = 5是真正传进去的参数。然后c是先传进去,然后自身再++,所以fun此时x,y的值分别为5,3,所以返回8;
five_cent
2010-09-14 · 超过14用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:35.9万
展开全部
sum=fun((a++,b++,a+b),c++)
/*
括号内的表达式是从左向右执行,先a++,后b++,后a+b,即第一个传入参数的值为5;c++,先传递c的值作为第二个参数的值,c在自加1,即第二个传入参数的值为3;因此函数的值5+3=8,答案为C。
*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大衍之49
2010-09-14 · TA获得超过1049个赞
知道小有建树答主
回答量:1159
采纳率:0%
帮助的人:1064万
展开全部
(a++,b++,a+b)

这是个逗号运算,逗号运算的最后结果是最右边的表达式,也就是a+b,

那么由于a后++,b后++,那么在执行到a+b之前,b的值是3,a的值是2,那么a+b也就是5

对于c++。由于是后++,所以到执行到c++这步的时候c的值还是3,

那么对于fun((a++,b++,a+b),c++)等价于fun(5,3)

也就是最后的sum=8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式