确切地说,C语言判断中if(x==0)和if(!x)有什么本质上的区别吗?
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 11:49:02
确切地说,C语言判断中if(x==0)和if(!x)有什么本质上的区别吗?
确切地说,C语言判断中if(x==0)和if(!x)有什么本质上的区别吗?
确切地说,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别忘记给分!
确切地说,C语言判断中if(x==0)和if(!x)有什么本质上的区别吗?
在C语言中if(x=0)与if(x==0)的区别 if(0
C语言中 if(x)y+=1是什么意思
c语言中if(x=y-4)是什么意思
C语言中if(x
C语言中 if(x
C语言中if(x==y)&&(x!=0)x=5;为什么不对,
C语言 if ((x>=4)||((x%2)==0))这个不能判断大于4的奇偶?
C语言中有个例题看不懂这个例子中主要是if (x!>0)这个,是不是可以理解成x!=0就是x不等于0的话,判断是否x>0,是的话y=1,否则的话y=0而且这个if和else的数量也不等是怎么回事?如果if表达式缺
C语言刚入门 else if 和else{ if }的区别比如说判断a的正负号或零if(a>0){ }else if(a==0){ }else if(a0){ }else { if(a==0){ } else { if (a
非常非常简单的几道题目,要拿分的来啊1.已知:int x,y;.下列表达式中,非法的是()A.x=y+3B.y=x%yC.y=++xD.x+y=52.C语言中,要判断整型变量x是否等于0,下面语句()可以构成if和if-else语句中的条件.A
在c语言中,与if(x==0) 等价的表达式写法是什么?
C语言中,if(++x%2==0)什么意思?
C语言IF选择语句!请问:else if(x==0){y=x;}和else{if(x==0){y=x;}}
C语言IF语句嵌套问题下列IF语句中,ENDIF表示相应的IF的结束:Y=0 IF X
C语言中If(!x) y ++; x)
C语言中 if ( note->mFreq = 0 )
C语言中,If(a==b)和if(a=b)什么区别?