int a=5, b=0,c=0,d=0,e=0,f=0;
c=++a;
d=--a;
e=c*d;
a=5;
f=(++a)*(--a);
a=5;
b=++a*--a;
################################
1.a=5;
2.c=++a=6;
3.d=--a(注意此时,a值为6)=5;
4.e=c*d=6*5=30;
5.a=5;重新赋值,其实这步是多余的,现在a值本来就是5.
6.f=(++a)*(--a)=25;由于运算符的优先级别,先++,--,后+,-,*,/,所以a值被先++,后--,值未更改,所以f值为25;
7.b=++a*--a;原理同上,b值为25;
********************************************
不知你明白了没有?
c=++a;
d=--a;
e=c*d;
a=5;
f=(++a)*(--a);
a=5;
b=++a*--a;
################################
1.a=5;
2.c=++a=6;
3.d=--a(注意此时,a值为6)=5;
4.e=c*d=6*5=30;
5.a=5;重新赋值,其实这步是多余的,现在a值本来就是5.
6.f=(++a)*(--a)=25;由于运算符的优先级别,先++,--,后+,-,*,/,所以a值被先++,后--,值未更改,所以f值为25;
7.b=++a*--a;原理同上,b值为25;
********************************************
不知你明白了没有?