Search code examples
javacundefined-behavioroperator-precedence

++i + ++i + ++i in Java vs C


int i=2;
i = ++i + ++i + ++i;

Which is more correct? Java's result of 12 or C = 13. Or if not a matter of correctness, please elaborate.


Solution

  • There is nothing like more correct. It is actually undefined and its called Sequence Point Error. http://en.wikipedia.org/wiki/Sequence_point