Well, you could say "whichever value it has, it should be the same in
It doesn't have any value, it produces undefined behavior.
both cases", but the behaviour in such cases is unspecified, so they
There is no unspecified behavior present in the original code. The
term "unspecified behavior" has a precise definition in the C
standard, and nothing here exhibits unspecified behavior.
And then, of course, regardless of the validity of the object, the
code modifies it twice without an intervening sequence point,
producing still more undefined behavior.
It makes no difference what you, the OP, or anyone else expects.
There is no correct value. Or incorrect value.