Не могу понять результат выражения

#include <stdio.h>  
main() 
{     int nextnum, y = 2, n = 3;     
      nextnum = (y + n++)*6;     
      printf("Result = %d\n", nextnum);     
}

Почему результат выдает 30 вместо 36?


Ответы (2 шт):

Автор решения: gbg

Верно выдает:

(2+3) * 6 = 5 * 6 = 30

n++ - это постфиксный инкремент, он сначала возвращает значение n, а потом его увеличивает

→ Ссылка
Автор решения: Harry

Хотите 36? Используйте префиксный инкремент:

nextnum = (y + ++n)*6;  

https://ideone.com/TjTJBA

→ Ссылка