在C语言中,a为0时,表达式a=0和a==0的值为"真"吗为什么

如题所述

不管a是否为0,表达式a=0的值都是0。这是一个赋值表达式,其作用是将右值赋给左值,并且表达式的值时左值。
当a=0时,表达式a==0的值为真,也就是非0.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-23
a=0是赋值;a==0是比较;
a为0时,a==0为真; a无论之前是什么,a=0都为假;
比如if(a=0){}是恒假,永远不会执行到大括号里面;
第2个回答  2012-07-23
第一句是赋值语句,当然是真了。第二句是判断语句,a 是0,所以也是真的
第3个回答  2012-07-23
不太明白你的问题。
a=0是赋值操作;
a==0是判断"a是否等于0"的表达式,因为已知a=0,所以这个表达式为“真”。
第4个回答  2012-07-23
一个等号和两个等号意义不一样的,第一个“=”是赋值,a的值会变,第二个“==”是判断,他是逻辑运算符,意思是:如果a等于0是真的话,一般会在IF等带选择性的语句中出现。
相似回答