亲,c语言中的"=="与"="有区别吗?为什用==可以运行正确的程序用=却错误,谢谢。

如题所述

== 是逻辑操作符, = 是赋值操作符。二者语义不同。
在一些情况下,用错语义不会发生编译错误,但执行结果却不可预期。如需要判断
if(a1==a2 )但却写成 if(a1=a2)。后者的值永远为false
在令一些情况下,会发生编译错误。如需赋值
int a1==0;
操作符的区别在于其语义,LZ可以参考一下资料《C语言程序设计》
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-24
一个等号是 赋值 就是 a=3 把3 赋值给 变量a
2个等号是 判断 是否相同. 相等的意思.
第2个回答  2012-10-24
==是判断左右两边是否相等,而“=”这是另左边的变量的与右边的值,它们的用处是不一样的。
比如a==5,表示判断a是不是和5相等,而a=5则表示把a的值变成5
第3个回答  2012-10-24
=是赋值 a=3 赋值
==是判断是不是等于 a==3 是判断a是不是等于3
第4个回答  2012-10-24
== 这个是用来判断两个值是否相等,= 这个是用来赋值的
第5个回答  2012-10-24
当然有区别啦,“==”是逻辑运算符,判断它两边的表达式是否相当,“=”是赋值运算符,用来把右边的表达式赋值给左边。
一般会这样if(fp==NULL),判断fp是否等于NULL,如果写成if(fp=NULL),那fp就被赋值为NULL,有次调程序,调了N久才发现,写错了,建议写成if(NULL==fp),这样如果忘了写成if(NULL=fp),编译器也会报错的。,