在c语言中if !a和if a=0是一个意思吗?

来源:百度知道 编辑:UC知道 时间:2024/05/16 00:29:04
在c语言中,if !a和if a=0是一个意思吗?

不是!if(!a)和if (a==0) 才是一个意思!

不一样的.
下面的这种情况就是不一样的结果
如果a被初始化为 0
那么 !a 就是真
a=0 这一赋值语句还是0,为假 ,那么这两句执行的流程就不一样了.
只有a不等于0的情况,这两个if语句的表达式的值才是一样的.

在c语言中,if !a和if a=0是一个意思吗?
---------------------------------------

很显然不是一个意思。

!a----表示:当a为真时,!a为假;当a为假时,!a为真。

a=0-----表示:a为假。只为假。

if(!a)字面翻译就是:如果非a..
主要指拿目标跟字符a相比.如果不等于a..下面怎么怎么样做..

if a=0字面翻译就是:如果a=0..
主要指拿a的值去跟0比较,如果a=0,下面怎么怎么样做...

光看字面意思就知道不一样的了..

在C语言中,没有类似C++,Java语言的布尔类型,所以规定用0表表示条件为假,用非0(注意不是1)表示条件为真。
所以 if(!a) 就是说“当a为0时条件成立”,也就是if(a==0)了

另外,C语言中表达式可不是你这么写,你是从VB转过来的吧?

一楼说得对,
if !a 意思是 if a==0
if a=0 意思是 if(0) 就是永远不可能