[Note, I cannot quote your text because it came in as an attachment]
The C standard prohibits modifying the same variable twice within a single checkpoint, so the result of a++ - --a is undefined. I'm not sure of the exact definition of a checkpoint, but it's safe to assume that it does not exceed a single statement (;).
Philip