高手帮我讲下 下列逗号运算表达式

来源:百度知道 编辑:UC知道 时间:2024/07/01 06:35:44
int a=2, b=2,c,d,e,f;
表达式 d=a--,e=d--, f=--e 运算后为什么 a,d,f,e均为1

d=a--=1, e=d-- 应该=0,f=--e=-1,d=0 (这是我的理解)

高手帮我讲讲

d=a-- : a=2 所以d=2 运算过后,a自减1 所以这步结束后为:d=2 a=1
e=d-- : d=2 所以e=2 运算后d自减1 结果为:e=2 d=1 a不变 a=1
f=--e : e=2 --e就是e先自减再赋给f 结果为:e=1 f=1 其它不变 d=1 a=1

所有运算后的结果为:a,d,f,e均为1

a-- 的意思是a在运算过后再自减1
比如说:c=a-- 那就是先把a的值赋给c然后a再自减1

而--a 的意思就是说a在运算前先自减1
比如:c=--a 意思就是a先自减1然后再把a的值赋给c

++的算法和--相同。

应该是你看错了吧,你上边写的a=2, b=2,你下边的表达式里都没有b,肯定是你抄错了

1) d=2,a=1
2) e=d=2, d=1
3)e=1;f=e=1;

注: a--==>先赋值,再自身-1; --a==>先自身-1,再赋值