Правильна ли реакция компилятора?

 
В условии
if(a && b && !c)
был ошибочно пропущен второй оператор && (перед !c). Компилятор такое условие компилирует без ошибок.
Может такое условие имеет право на существование? Только не пойму как его трактовать логически.

            
 

не понятно в чем ошибка ?

условие выглядит так : если (а и б и не с) то действие 

if(a==true && b==true && c==false){}
 
FAQ:

не понятно в чем ошибка ?

условие выглядит так : если (а и б и не с) то действие 

 

Моя ошибка была в том, что был пропущен второй оператор &&, т.е. было так:

if(a && b  !c)
 
Ну что, больше никто ничего не скажет?
 
А что тут сказать? Конечно ошибка должна быть, это же унарный оператор.
 

Ошибка компиляции не выдается даже вот с таким выражением:

if( a  !c )

Может быть,  между a и !c предполагается неявный знак какой-то булевой операции - ну, скажем, умножения (&&) ?

 
Mathemat:

Ошибка компиляции не выдается даже вот с таким выражением:

Может быть,  между a и !c предполагается неявный знак какой-то булевой операции - ну, скажем, умножения (&&) ?

Мне тоже так кажется. Видимо компилятор это так воспринимает.
Причина обращения: