永发信息网

35. 若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是( )。

答案:3  悬赏:20  手机版
解决时间 2021-11-17 03:08
35. 若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是( )。
最佳答案
逗号表达式从左向右依次计算,最终的值等于最后一个表达式的值。
因此a=2,b=5,b++=6,a+b=2+6=8,最终值为8。
全部回答
选择B
整体为逗号表达式,逗号表达式的值由最末项决定,即a+b
a=2,b=5这两个子表达式分别将ab赋值为2和5
a*2子表达式没有任何副作用.不改变a的值
b++将b值自增1,成为6
所以2+6==8追问可是b++不是++在后吗,那不是应该先算后+吗?为什么这里又变成6追答逗号运算符是顺序点,所以尽管子表达式b++的值为b的原值5,但后续计算a+b的时候自增的副作用已发生,b值为6追问就是说只有逗号表达式可以把b++先自增再拿来运算,其他的表达式还是先算后自增吗追答你需要理解顺序点和副作用的含义,搜索"裘宗燕 C/C++语言中的表达式求值顺序",这个讲的很细
中间的a*2不用管。b++逗号后b值自增1了,最后一个表达式决定整个逗号表达式的值 a+b=2+6=8追问可是b++不是++在后吗,那不是应该先算后+吗?为什么这里又变成6追答额,++在前就先增,++在后等语句结束再增。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
翅味鲜柏合豆腐皮怎样做?
佳信电脑(王店分店)地址在哪,我要去那里办事
艺卓S2410W和艺卓FlexScan EV2336W有什么区别
液压猴车轮边制动不保压为什么?
给排水图纸DG:1200x1200什么意思
向那些英雄致敬作文450
在数控机床上建立机床坐标系的目的是什么?建
超越&考研的数学冲刺押题班真的命中率很高吗
被草割的痒痒可以洗澡吗
汕头哪有卖铁艺锻钢
秀秀发屋地址有知道的么?有点事想过去!
求《这就够了》作文六百字,
在proe5.0里不同板厚度产品的K值相同吗
100悬赏谢谢
220伏变36伏的5千瓦变压器能装多少40瓦的
推荐资讯
求MMPI明尼苏达人格心理测试结果鉴定 求专业
x=(8224-x)*(1 0.056)怎么解x
什么是粗铜?
脑卒中患者足下垂形成的原因有哪些
公司电脑上装了亿赛通,如果在此电脑上用个人
电解是h2o电解还是oh
问一下20w以内的车哪个好点不要suv!
做讲师,需要参加哪些培训?
449. 国师,太师都是干什么的,有什么不同?职
重峦叠嶂意思是什么
a的2次方减b的2次方减2a加1怎么因式分解。
评分在4分以上的小说有哪些
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?