设int a=1,b=2,c,d,e;执行c=(-a++)+(++b);请问a,b,c的结果是:???
输出结果:a = 2, b = 3, c = 2
首先不管(-a++)+(++b)怎么运算,a与b都进行自加各一次,所有a = 2, b =3
再进行(-a++)+(++b)运算,运算时区分++在前与++在后的运行原理
++在前:先自加再进行运算 例:int b = 1;
int a = ++b;
则b = 2 , a = 2
++在后:先进行运算再自加 例:int b = 1;
int a = b++;
则b = 2 , a = 1
所以c = (-a++) + (++b)的表达式是:c = -1 + 3 则c = 2
(-a++)就是a前面加了个负号再进行运算,a 自加时不考虑这个负号
希望我地回答能帮到你 |