Заказ печати в С
int x=10;
printf("%d %d %d\n",x,++x,x++);
printf("%d %d %d",x,x+20,x+30);
Это вывод на печать как
12 12 10
12 32 42
Почему порядок в первом printf находится в обратном порядке, а почему нет во втором операторе printf? я нашел в книге, что C использует обратный порядок печати.
1 ответ
Ваш код имеет неопределенное поведение ("UB"). Таким образом, все может случиться.
В частности, нарушенное правило состоит в том, что нельзя читать и записывать одну и ту же переменную без точки последовательности, кроме как для определения значения для записи.