a-=(a++);最后a的值是多少啊

来源:百度知道 编辑:UC知道 时间:2024/05/02 18:47:27
判断下列表达式是否正确?若正确写出经过表达式a得值?
1.a-=(a++);2.a-=(++a);3.(a++)-=a;4.(++a)-=(a++);
请高手帮个忙阿?初学者不明白阿!谢谢阿
int a=4;

这里面a的值是多少没有关系,答案是唯一的
a-=(a++);a=a-(a++)=1可以确定,先赋值再减,由0增加1
a-=(++a);a=a-(++a)=0可以确定,虽然增了,但是自己减自己为0
(a++)-=a;有问题,左边缺乏赋值的依托
(++a)-=(a++); 同样是这一问题

用VC测试,结论如下:
1。正确
相当于a-=a;a++;所以a=1

2。正确
相当于a++;a-=a;所以a=0

3。错误
a++不能放等号右边,++a则可以

4。正确
相当于a++;a-=a;a++;所以a=1

给条明路你走。。
c=5的话有下面的东西
c++=5 c=6;
++c=6 c=6
--c=4 c=4
c--=5 c=4