Ми постійно потрапляємо в непотрібні аргументи кодування на моїй роботі. Сьогодні я запитав, чи має вищий пріоритет умовне І (&&) чи АБО (||). Один із моїх колег наполягав на тому, що вони мали однаковий пріоритет, у мене були сумніви, тому я шукав це.
Відповідно до MSDN AND (&&) має вищий пріоритет, ніж OR (||). Але, чи можете ви довести це скептично налаштованому колезі?
http://msdn.microsoft.com/en-us/library/aa691323(VS.71).aspx
bool result = false || true && false; // --> false
// is the same result as
bool result = (false || true) && false; // --> false
// even though I know that the first statement is evaluated as
bool result = false || (true && false); // --> false
Тож моє питання полягає в тому, як довести за допомогою коду, що AND (&&) має вищий пріоритет, ніж OR (||)? Якщо ваша відповідь не має значення, то чому так побудовано в мові?