C Порядок действий Противоречие между Eclipse, CLion, Code::Blocks и другими
У меня, казалось бы, очень простой вопрос о порядке операций в c, особенно с использованием оператора приращения.
Если у меня есть этот код:
int x,y;
y = 4;
x = ++y + y--;
printf("x: %d y: %d", x,y)
Результат, который я ожидаю:x: 10 y: 4
Я получил это, используя процесс, описанный здесь:
http://ntci.on.ca/compsci/java/ch2/2_3.html
(См. Пример 2, в красном поле)
Когда я запускаю это в Eclipse на Mac с MacOSX GCC, это ответ, который он дает. Отлично.
Однако когда я использую CLion (под MinGW), он дает:x: 9 y: 4
Как и Code::Blocks (с MinGW), и многие онлайн-компиляторы, такие как:
https://www.onlinegdb.com/online_c_compiler
а также
jdoodle-х
а также
tutorialspoint годов.
Что дает? Является ли Eclipse и мое понимание порядка операций в C неправильным?
Или CLion, Code::Blocks и куча онлайн-компиляторов не правы?