Здравствуйте, leo_jan, Вы писали:
_>Это правило последовательности выполнения операторов, а последовательность такова:
Ничего подобного

Это — undefined behavior, ни порядок выполнения, ни последовательность действий при таком раскладе не определены. Компилятор может вписать вместо этого вызов "format D:". И будет прав...
_>Друго дело что писать a = a++; — дурной тон
Это не дурной тон, это — неопределённое поведение.