инкремент префиксный
Почему здесь получается 9 а не 6?
int x = 1, a;
a = ++x*++x;
Источник: Stack Overflow на русском
Почему здесь получается 9 а не 6?
int x = 1, a;
a = ++x*++x;
Здесь вообще UB. Если значение переменной изменяется, то использовать её более одного раза в выражении запрещено (кроме явно оговоренных случаев).
Вероятно, в твоём случае вычислилось как-то так:
a = (++x, ++x, x*x);