Мне нужно знать, как логические операторы И или ИЛИ оцениваются в утверждении. Я нашел несколько сайтов, которые пытаются объяснить это, но я не могу сделать ни головы, ни хвосты из них. Я знаю, что могу использовать фигурные скобки, чтобы заказать, как я хочу, но я хотел бы понять, как это работает.
например будет
if( b1 && b2 || b3 )
оцениваться как:
(b1 && b2) || b3
или как:
b1 && (b2 || b3)
Вы можете найти в любом таблица приоритетов операторов тот &&
имеет более высокий приоритет, чем ||
, что означает, что это оценивается как
(b1 && b2) || b3
Обратите внимание, что оба &&
а также ||
являются короткими замыканиями, а это означает, что b2
а также b3
не нужно оценивать Например, если b1
оценивает false
, b2
не будет оцениваться вообще. Кроме того, если b1 && b2
оценивает true
, b3
не будет оцениваться
&&
а также ||
работать так же, как *
а также +
в этом отношении.