Could you explain how this works, step by step?
>>346072
-+x+x+++--x-+x--;
-+x+(x++)+--x-+(x--);
-+x+(x++)+(--x)-+(x--);
-(+x)+(x++)+(--x)-(+(x--));
-x+(x++)+(--x)-(x--);
-x+(4, x=5)+(--x)-(5, x=4);
-x+(4)+(--x)-(5);
-x+(4)+(3, x=3)-(5);
-x+(4)+(3)-(5);
-3+4+3-5=-1
>>346072
Ignore the other poster, in C, that's undefined behavior. Up to the compiler to implement how it likes. You have to test it to see what the result is, and it won't necessarily stay the same if you change other code around it.