I assume in the beginning a is 3
a++ + (--a * a++)
the compiler memorizes 3 (a) for the further addition, then a is incemented (a == 4) now --a, a gets decremented (postfix, done before any other operation is executed, a == 3) then 3 is multiplied with 3 and after the multiplication a is incremented (postfix) -> 3 + 9
(--a * a++)
same as above
a is decremented (postifix, decrementing before anything else is done, a == 2). Then a is multiplied with a (2 * 2) and after that a is incremented by one (postifix, other operations are done before incrementing, decrementing)