c语言中 if(!x); 表示什么意思

如题所述

非X的意思。
!在C语言中有两种表达,这里边表示“非”。
取决于X的值,如果X的值为0,!X就是1.
如果X的值不为0,!X就是0的意思。
扩展资料:
C语言中提供了三种逻辑运算符:
&&(与运算)
||(或运算)
!(非运算)
优先级:C语言中,运算符的运算优先级共分为15
级。1
级最高,15
级最低。
在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符
优先级相同时,则按运算符的结合性所规定的结合方向处理。
结合性:C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z
则y
应先与“-”号结合,执行x-y
运算,然后再执行+z
的运算。
这种自左至右的结合
方向就称为“左结合性”。而自右至左的结合方向称为“右结合性”。最典型的右结合
性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z
再执行x=(y=z)运算。C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。
参考资料:
C语言更多逻辑运算符
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-16
!是逻辑运算符,读作非,加入X只是非零值(1,2,3,4或者一千、一万,都可以),那么!x的逻辑值就是零。if(!x)的解释就是:如果!x为真(!x值是非零值)那么执行下面的语句,反之(!x逻辑值为零),那么不执行
第2个回答  2012-02-25
(!x) 表示当x不成立(若为数值时,则x=0),则if语句条件成立,进而执行此条件内的语句;否则不执行if条件内的语句,直接跳过此段往下执行。
第3个回答  推荐于2018-03-30
很简单,若x为真,那么!x为假。if(x)等价于if(true),if(!x)等价于(false)。后面运行什么你应该知道了。还有就是如何判别x为真,只要是一个数,常量变量都是真的。另外补充一点true和false 都是逻辑变量,在内存中true=1,false=0,所以!x在内存中等于0.本回答被提问者和网友采纳
第4个回答  2012-02-25
x=0时,执行空语句
相似回答