> If standard defined that left subexpression of addition is fully evaluated before the right expression that wouldn't be allowed.
I'm no expert, but surely this would still be allowed so long as the compiler can prove that incrementing a[0] has no effect on the value of a[1]?