Почему следующее выражение оценивается в 0?Результат булевого выражения в C
i > --i
Пусть я = 5. Вычисление выражения слева направо, мы оцениваем левый операнд (I), чтобы получить 5 и оценивать правый операнд (--i), чтобы получить 4. Таким образом, выражение о должен оцениваться до 1. Но когда я скомпилирую его с помощью gcc и запускаю его, он всегда оценивает значение 0. Есть ли недостаток в моем мыслительном процессе?
+1. '--i' выполняется до того, как значение' i' используется на * правой стороне *, но ничего не говорит о том, что значение 'i' находится на левой стороне *. –
@BinyaminSharet Нет, C не указывает порядок оценки в подвыражении. Вы не знаете, сначала ли оценивается левая сторона (это самый левый 'i' в' i> --i', или если сначала оценивается правая сторона '>'. – nos
@nos, KerrekSB - я получил свой Ошибка для исправления. – MByD