Моя проблема в том, что я не знаю, как компилятор корректно просматривает различные операторы if и почему он пропускает некоторые из них в этом случае.
Я пытался проверить, являются ли условия от начала до низа истинными или ложными, иТаким образом, найти правильный вывод программы. Но почему программа не выводит 84 здесь:
if (a > c) cout << 84;
else cout << 48
Полная программа:
int main()
{
constexpr int a{8};
constexpr int b{4};
constexpr int c{1};
if (a < b < c)
if (c > b > a)
if (a > c) cout << 84;
else cout << 48;
else
if (b < c) cout << 14;
else cout << 41;
else
if (b < a < c)
if (a < c) cout << 81;
else cout << 18;
else
if (b < c) cout << 17;
else cout << 71;
return 0;
}
Программа выводит только 41. Почему?