C语言中,i%2=0与i%2==0有什么区别?

C语言中,i%2=0与i%2==0有什么区别,为何我在if函数中使用前者会提示错误。

前者是赋值语句,要求=左边为左值(比如,常见的变量),而i%2不是左值,所以报错。
后者是一条判断语句,==是判等号。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-02-04
严格来说前者是错误的,'='是赋值运算符,不能把常量赋值给表达式;而'=='是比较运算符比较两边的变量或者表达式是否相等。所以if中要用后者
第2个回答  推荐于2017-11-26
第一个语句会报错,语法不允许,这是赋值语句,但是i%2是个表达式,不是合法的左值,不能赋值
第二个是判断语句,判断i被2除后的余数是否等于0本回答被提问者和网友采纳
第3个回答  2014-02-04
=是将0这一值赋给i%2这一表达式,而==是i等于0的意思。
第4个回答  2014-02-04
=0 是把0赋值给前面的变量 而i%2==0 是表示 i%2等于0
相似回答