为什么c++中有的时候++a的值不会变

题如图所示,为何结果为3,5,53,5,8跪求大佬们给萌新一点提示谢谢... 题如图所示,为何结果为3,5,53,5,8跪求大佬们给萌新一点提示谢谢 展开
 我来答
924040359
2019-04-22 · TA获得超过698个赞
知道答主
回答量:95
采纳率:66%
帮助的人:32.6万
展开全部
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’
更多追问追答
追答
纯手打,望采纳
追问
您好,他那个a的值未变的原因是不是因为在那个表达式中没有使用,所以a的值未变。
是不是像类似于a++和++a之类的都得经过使用表达式的使用(不知道这么说准不准确)才能使其的值改变?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式