Группировка логических связок в C++
Скобки задают порядок раньше, чем && и ||.
Без скобок сначала собирается правая часть, связка И. Ложь и ложь дают ложь. Эта ложь стоит справа от истины, и связка ИЛИ дает истину:
std::cout << (true || false && false) << "\n";
Скобки сначала собирают связку ИЛИ. Истина или ложь дают истину. Эта истина сталкивается с ложью справа, и связка И дает ложь:
std::cout << ((true || false) && false) << "\n";
Выведите результат следующего выражения:
(false || true) && false
Выведите результат следующего выражения:
false || (true && false)