C语言中的逻辑运算符:&&(与运算)、||(或运算)、!(非运算)。
与运算符(&&)和或运算符(||)均为双目运算符。具有左结合性。非运算符(!)为单目运算符,具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如下:
本来没有错误,关系运算符都是按“非与或”顺序来运算的。但是,不同的编译器设计者可能对这个的认识不同,因此,如果不加括号就会有歧义,因此,编译器就会提醒应该加括号(编译中有警告:waring),但你不加,也不算错,只是其结果就是按编译器的运算顺序来操作了。
&&是与,||是或;
&是位与,|是位或;
|就是按住shift在按回车上面一个按钮;
两下就是||;
这个不是错误,是警告warning,编译器怕记不住操作符优先级,而导致错误,因此提示||的优先级高于!=。
扩展资料
C语言内置了丰富的运算符,大体可分为10类:算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、求字节数运算符和特殊运算符。
根据运算符可操作的操作数的个数,可把运算符分为一元运算符、二元运算符和多元运算符(一般三元)。优先级:当不同运算符优先级不同时,先计算谁后计算结合性:当不同运算符优先级相同时,先计算谁后计算谁。