Hi, I don't know if I good understand that: a = 3 b = ++a + (a-- * ++a) 1. first a-- from parentheses: b = 3 + (2 * 3) 2. second ++a from parentheses: b = 3 [3-1(postfix a--)+1(prefix ++a)] + (3 [2+1(prefix ++a)] * 3 [3-1(postfix a--)+1(prefix ++a)]) 3. third ++a outside parentheses: b = 4 [3+1(prefix ++a)] + (4 [3+1(prefix ++a)] * 4 [3+1(prefix ++a)]) 4. b = 4 + (4 * 4) 5. b = 4 + 16 6. b = 20 If that it's true why b = ++a + ++a + (a-- * ++a) give me 34 instead 35 ? Thanks a lot for yours answers.