|
что в первом случае используются значения выражений сравнения. Если считать, что результат сравнения может быть 0 (false) или 1 (true), то результат битовой операции & даст 1, в случае, когда оба условия выполняются. Если хотя бы одно из условий не выполняется, то результатом всего выражения будет 0 (false), т.е. условный оператор не будет выполняться. Т.е. в целом, вся конструкция должна работать так же, как и при использовании логических операций & &.
И кстати, могу добавить, что самый первый компилятор Си (Small-C), с которым я имел дело, вообще не имел логических операций & & и ||. Вместо них приходилось использовать в условных выжениях битовые операции & и |. Код, конечно, получался неоптимальным, но что было делать.
E-mail: info@telesys.ru