在c语言中,if !a和if a=0是一个意思吗?
在C语言中,没有类似C++,Java语言的布尔类型,所以规定用0表表示条件为假,用非0(注意不是1)表示条件为真。
所以 if(!a) 就是说“当a为0时条件成立”,也就是if(a==0)了
另外,C语言中表达式可不是你这么写,你是从VB转过来的吧?
所以 if(!a) 就是说“当a为0时条件成立”,也就是if(a==0)了
另外,C语言中表达式可不是你这么写,你是从VB转过来的吧?
温馨提示:答案为网友推荐,仅供参考
第1个回答 2008-01-02
在c语言中,if !a和if a=0是一个意思吗?
---------------------------------------
很显然不是一个意思。
!a----表示:当a为真时,!a为假;当a为假时,!a为真。
a=0-----表示:a为假。只为假。
---------------------------------------
很显然不是一个意思。
!a----表示:当a为真时,!a为假;当a为假时,!a为真。
a=0-----表示:a为假。只为假。
第2个回答 2008-01-02
if(!a)字面翻译就是:如果非a..
主要指拿目标跟字符a相比.如果不等于a..下面怎么怎么样做..
if a=0字面翻译就是:如果a=0..
主要指拿a的值去跟0比较,如果a=0,下面怎么怎么样做...
光看字面意思就知道不一样的了..
主要指拿目标跟字符a相比.如果不等于a..下面怎么怎么样做..
if a=0字面翻译就是:如果a=0..
主要指拿a的值去跟0比较,如果a=0,下面怎么怎么样做...
光看字面意思就知道不一样的了..
第3个回答 2008-01-03
不一样的.
下面的这种情况就是不一样的结果
如果a被初始化为 0
那么 !a 就是真
a=0 这一赋值语句还是0,为假 ,那么这两句执行的流程就不一样了.
只有a不等于0的情况,这两个if语句的表达式的值才是一样的.
下面的这种情况就是不一样的结果
如果a被初始化为 0
那么 !a 就是真
a=0 这一赋值语句还是0,为假 ,那么这两句执行的流程就不一样了.
只有a不等于0的情况,这两个if语句的表达式的值才是一样的.
第4个回答 2008-01-02
不是!if(!a)和if (a==0) 才是一个意思!本回答被提问者采纳