题如图所示,为何结果为3,5,53,5,8跪求大佬们给萌新一点提示谢谢为什么c++中有的时候++a的值不会变
3 回答
蓝山帝景
TA贡献1843条经验 获得超7个赞
a>b为假,所以c=++b
〔‘++b’的意思是先让b加上1后再使用b这个变量
。‘b++’则是先使用b这个变量的的值,第二次使用时再加1〕
所以经过第一步操作后,a=3,b=4+1=5,c=b=5
然后输出 ‘3,5,5’
接下来的判断语句从右往左执行
a-3=0,0在逻辑运算语句中代表假,输出冒号后的值,所以整个语句化简为c=a-b?a+b:3
a-b=-2,在逻辑运算中,非零即真,只要不是零的数都代表逻辑中的‘真’。于是输出冒号前的数,变为c=a+b=8
经过这一步之后,a=3,b=5,c=8
所以最后输出‘3,5,8’
综上,最后输出
‘3,5,5
3,5,8’
四季花海
TA贡献1811条经验 获得超5个赞
您好,他那个a的值未变的原因是不是因为在那个表达式中没有使用,所以a的值未变。 是不是像类似于a++和++a之类的都得经过使用表达式的使用(不知道这么说准不准确)才能使其的值改变?
- 3 回答
- 0 关注
- 821 浏览
添加回答
举报
0/150
提交
取消