Следующий код меня смутил
int a=2,b=5,c;
c=a+++b;
printf("%d,%d,%d",a,b,c);
Я ожидал, что выход будет 3,5,8, главным образом потому, что ++ означает 2 +1, что равно 3, а 3 + 5 равно 8, поэтому я ожидал 3,5,8. Оказывается, результат 3,5,7. Может кто-нибудь объяснить, почему это так?