为了账号安全,请及时绑定邮箱和手机立即绑定

请问例1的 运算结果为什么不是a:5,b:6?

请问例1的 运算结果为什么不是a:5,b:6?

正在回答

2 回答

int b = ++a;  


1. 你可以这样理解,只要出现++自增符号,那么那个变量or数字铁定运算后自增1. 那么当你看见++a,不用考虑,a必定加1,于是结果变成了a:6

2. 这里再考虑b, ++在a左边,即先把a+1的结果6赋值给b. ++若在a右边,即先把a原来的值5赋值给b.

1 回复 有任何疑惑可以回复我~
#1

ilemon 提问者

谢谢哦!不好意思我才看到!
2015-05-15 回复 有任何疑惑可以回复我~
#2

Jy_z 回复 ilemon 提问者

haha~
2015-05-15 回复 有任何疑惑可以回复我~
#3

qq_HkJxGnMdGm_0

大牛,我所理解的是:a=5 b=++a。那么输出结果应该是 a:5 b:6 不是吗?为什么 a:6 b:6 了呢? a本身是“5” 这里输出的就应该是“5”呀,b=++a,把a自增1后赋值于b。而,a本身就是5 没有进行运算呀。
2018-01-03 回复 有任何疑惑可以回复我~
#4

qq_HkJxGnMdGm_0

只要出现++自增符号,那么那个变量or数字铁定运算后自增1。意思是:不管在哪里运算,不管是c=++a、d=++a也好。只要在其他变量里出现过关于a的自增、减运算都会对本身的a 有影响。是吗? 就比如: A=5 ; B=++A; C=A++; 那么输出的结果就是:A:7 B:6 。等等那么C怎么运算呢?如果说在B中运算了A,对A本身产生自增影响,那么运算C时A=6,此时的C运算出来就是C:6。 对不对呢
2018-01-03 回复 有任何疑惑可以回复我~
查看1条回复

不管怎么样,只要出现++或者--之前的那个数肯定会变化呗

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问例1的 运算结果为什么不是a:5,b:6?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信