=!意思“不等于”
1、“=”是赋值运算符
2、“!”逻辑非运算符,逻辑操作符一般将其操作数视为条件表达式,返回结果为Bool类型:首先对其操作数求值,若结果为0,则条件为假(false),否则为真(true)。
3、优先级上“!”先于“=”
4、所有比如有下面的式子
int i;
i=!5;
5、根据运算符优先级,!先于=
首先5作为!的操作数,求值!5的结果是bool型的false
然后false隐士转换成int型,即0
所以i里面的值是整形0
扩展资料
C语言运算符号:
比较特别的是,比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 00011100。
因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。
运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。
关系运算符号 :== 、!=
参考资料