#c 11 #if-statement #increment #control-flow
#c 11 #if-statement #приращение #поток управления
Вопрос:
В чем разница между if( x < 0){something}
и if(x 1 < 0){something}
Заранее спасибо
Ответ №1:
Значение x
x
немедленно увеличивается на 1, и это новое значение x
сравнивается с 0
.
Хотя x 1
значение не увеличивается x
, и его исходное значение остается неизменным, сравнивается только вывод x 1
0
.
Ответ №2:
x
увеличивается x
на единицу и возвращает результат. x 1
оставляет x
как есть и возвращает его значение, увеличенное на единицу. Таким образом, разница заключается в значении x
после операции.
Контекст (внутреннее if
условие или нет) здесь не имеет значения.
Комментарии:
1. Значит ли это, что, например, x = -1, if ( x < 0) означает, что на самом деле if (0 < 0) возвращает false, а x становится 0. Где if (x 1 < 0) также вернет false , но x останется прежним, 0?
2.В случае
x 1
x
, если останется-1
. На самом деле, вы можете проверить это самостоятельно с помощью Coliru coliru.stacked-crooked.com/a/89891cb0c0cd6054