c语言,表达式(!x==0)的逻辑值是什么?

如题所述

!X==0,!的优先级高,所以相当于(!x)==0。
题目没说x是什么类型,暂且当成整型吧。
c的逻辑运算中,把0当做false,非0当做true。表达式进一步解释为(!x)==false。
于是(!x)的结果就是,如果x是0,则 !x 是true;否则 !x 是false。
所以,如果x是0,(!x)==false的结果是false;否则是true。
然后只要看下面哪个跟这个逻辑的运算结果是一样的就行了。
-----
x==1,只有x是1的时候结果为true,其他情况都是false。跟上面的逻辑不一样了。

x,上面也说了,整型转逻辑运算时,0是false,非零是true,所以x的逻辑运算结果跟 (!x)==0等价。
x!=0,x为0的时候是false,非零是true。逻辑上等价。
x>0 || x<0,分析一下如果x为0,则既不满足x>0也不满足x<0所以结果是false;其他情况要么x大于0,要么x小于0,所以结果是true。逻辑上也等价。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-03-18
应该先!x 然后等于
所以只要x不是0就正确

难道错了吗?还差评 哎
第2个回答  2016-03-18
x=0, (!x==0) -- false
x=1, (!x==0) -- true追问

这道题怎么做

第3个回答  2016-03-18
false追问

为什么

表达式是指哪些,都有逻辑值吗

第4个回答  2016-03-18
首先,x的逻辑值是多少呢?
相似回答