+ 1
x=1 x-=-(++x)-x java is printing out 6, can someone explain this to me? Thanks!
To me it goes like this x=1+2-3 or x=1+2-2 either way I don't get it. How it could come out 6?
2 ответов
+ 7
First, it should be noted only a fool would code anything like this. Any time you use a variable with ++ or -- operators and you reuse that variable in the statement, you can not guarantee how the compiler will decide to do things. Tomorrow's compiler update might do things differently breaking your code,
x = 1;
x -= -(++x)-x;
++x makes x 2
2 -= -2-2 is 2 -= -4 is 6.
+ 1
Thanks! it was one of the questions in challenges. I learned two things:
- in one line of the code value can't be changed
-every side of equation must be added before values change sides