I believe it should be 12. The a++ is superfluous to this expression as it won't be evaluated until after the full expression (after the semicolon) so it has no affect on the outcome; however, I seem to recall from the C++ standard that the behavior of an expression involving a postfix or prefix operator and the operand of those operators in the same expression is undefined.