请问一下这道c语言题目

请问大家一下这道题目的详细过程以及相关知识点谢谢!... 请问大家一下这道题目的详细过程以及相关知识点 谢谢! 展开
 我来答
White_MouseYBZ
2018-10-30 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6280万
展开全部
这题的正确答案是y==14,所以B)正确,应该选B)——x+=x++,x+8,++x是逗号表达式,从左至右计算,取最后一个分表达式的值。过程是:x+=x++使x=5+5==10,然后x++使x==11;再计算x+8,它没有赋给x,所以不影响x的值,x还是11;最后计算++x使x由11变为12。最后加前面的2使y得到14的值。
xuzhouliuying
高粉答主

2018-10-30 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:5.4万
采纳率:86%
帮助的人:2.4亿
展开全部
括号里是逗号运算符,依次执行各表达式,并将最后一个表达式的结果作为最终结果。
x+=x++,先执行x+=x,然后x再自增1
x=5+5=10,x自增1,x=11
执行x+8,11+8=19,此时x的值仍为11
执行++x,x自增1,x=12
执行y=2+x,y=2+12=14
选B
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
才花香气满三春7857
2018-10-30 · TA获得超过302个赞
知道小有建树答主
回答量:385
采纳率:27%
帮助的人:42.8万
展开全部
答案的确是10,没错。因为MIN是一个宏而不是函数,宏与函数的不同就是宏是在调用的位置“代码展开”,也就是说,k=10*MIN(i, j);这一句代码实际上被代码展开后是:k=10*(i)>(j)?(i):(j);,这个运算是10先乘以变量i再和变量j比较,也就是10*10>15?10:15,所以k的值最终还是10。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式