c语言中什么时候用==和=?

如题。
==和=分别什么时候用?求助

“==”在C语言中表示的等于,例如:while(a==0);中,表示,当a等于0时执行下一条语句。否则不执行。用在判断,选择中。

“=”在C语言中表示的赋值。a=b=c=9;用在赋值中。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-09
==判断是否相等,如if(a==20) b=20;意思就是如果a=20则b=20
=表示赋值,a=20,表示将20赋给a
第2个回答  2012-09-09
==是逻辑运算符 运算结果为布尔类型
判断a是否等于b if(a==b)
{...}else{...}

=是赋值运算符 当想让一个变量得到一个值的时候使用赋值运算符
int a=0,b;
b=a;
a=5;
都是赋值运算

你提到的 “那比方说if(a=0)和if(a==0) 前者是直接赋值 后者是先比较再确定?”
前者是先赋值 再判断if(0) 结果为永远假
后者if(a==0) 是先做逻辑运算 a==0 返回1 或0 在if(1) 或if(0) 结果可能为真 也可能为假
第3个回答  2012-09-09
“==”在C语言中表示的等于,例如:while(a==0);中,表示,当a等于0时执行下一条语句。否则不执行。用在判断,选择中。

“=”在C语言中表示的赋值。a=b=c=9;用在赋值中。
(仅供参考)本回答被提问者采纳
第4个回答  2012-09-09
==在判断是否相等的时候使用,=在赋值的时候使用追问

那比方说if(a=0)和if(a==0) 前者是直接赋值 后者是先比较再确定?

追答

字面上是这么理解的,而且两者应该都不会出现编译错误,但是前者的话应该会有警告的。所以一般提倡的写法是if(0==a)