I think this is the case of undefined behavior as 'a' is modified thrice between two sequence points.
64.3k questions
77.9k answers
244k comments
80.0k users