永发信息网

确切地说,C语言判断中if(x==0)和if(!x)有什么本质上的区别吗?

答案:1  悬赏:60  手机版
解决时间 2021-08-23 09:50
确切地说,C语言判断中if(x==0)和if(!x)有什么本质上的区别吗?
最佳答案

两者区别不大,“x==0”是个判断语句,很显然,“x==0”成立,这个语句就为真,结果为true;
而“!x”呢,如果“x==0”,那么“!x”就为真,结果为true,反之,这位假,就是false(!x为0);所以,两者都是x为0则判断为真,没什么本质区别的,如果lz非要区别的话,可以这样认为,“x==0”是直接将x与0比较的,真假立判;而“!x”先判断x是否为0,那么就可以得出(!x)是否为0,可以这样分if(x==0) 则((!x)!=0) return true;if(x!=0) 则((!x)==0) return false;这里其实就是boolean与int的一点联系,lz知道,false与0等同,true与1等同,而在二进制内存中,false是全0的,不全0就是true,这就是!x(x是非boolean型吧)可以作为判断(即结果是boolean型)的原因了.
解释这么多,希望对lz有帮助,
lz别忘记给分!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
碳和镁的相对原子质量分别是12和24,则碳原子
CF山西一区叫“什么什么” 兄弟 的战队有那些
火影中与宇智波斑一起的水影大人还活着么
脸上去角质的多久一次,什么是角质??怎么消
雨花区长沙小新星国际教育(侯家塘校区)地址在
火车北站到黄田坝怎么走?…
樱桃键盘哪款性价比高,哪个机械键盘牌子性价
求需要改进的普通女生照片
岑溪有间迪吧尊?
生死狙击怎么修改密保,去哪儿网中密保怎么修
为什么以前的电视剧的歌曲这么好听?
餐饮每日营业收入报表,如何做餐饮成本日报表
高级群什么时候才能升级为超级群?
西安区牡丹江新日电动车(爱民街)这个地址在什
手机支持WIFI但是家里只有一台电脑,请问我该
推荐资讯
怎样运用酵母菌酿酒
夷陵区宜昌萌萌哒专业儿童摄影会所在哪里啊,
台州椒江哪有海滩
“敢拜子弥缝敝邑”中的“缝敝邑”什么意思
我同我的朋友在QQ上聊天然后手机死机了,我在
10086发给我个信息,求大家给咱解释哈:尊敬
百度知道板式异常怎么恢复
梦幻STL怎么吃人参果啊
民权县商丘精英散打俱乐部地址是什么,有没有
求龙之谷剑圣最好的技能点加法?
濮阳县第二人民医院-门诊部这个地址怎么能查
我说过你不会是她的替代品为什么她就是不相信
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?