C语言中if(x==y)和if(x=y)有什么区别

如题所述

if(x==y)是判断x与y是否相等,相等则为真,不等则为假
if(x=y)这个是把y的值赋给x,然后判断表达式x=y的值,C语言中,赋值表达式是有值的,它的值是赋值符号右边的值,即x=y的值是y的值,如果y的值为0,那么x=y为假,否则为真
一般来讲,编程过程中if(x=y)这种写法是错误的写法,程序能够通过编译,也能够运行,但是可能会出现意料之外的结果。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-12-20
==是等于的意思,比如x==100这个语句,如果x的值确实是100,则返回1,如果x的值不是100 则x不等于100,则返回0。
=是赋值的意思,只要赋值成功,都返回1。比如x=1,就是把1赋给x,换句话说,在这个句子之前,x可能没有值,或者有其他值,但是这个语句之后,x就等于1了。
所以,如果是要判断x是否等于y,那应该用x==y
相似回答