C语言中变量a=0与a==0的区别

Python015

C语言中变量a=0与a==0的区别,第1张

a=0是说:给变量a赋值0

比方说,原来定义a=1或没有定义,现在执行赋值语句a=0,则变量a中的值就变为0,此时a等于0

a==0就相当于数学式中的“a等于0”

赋值是个动作,而等于则是判断比较

一个字符常量只能含有一个字符,而'a=0'由三个字符构成,因而它不是字符常量。不过实际上,'a=0'是一个多字符字符常量(multi-character character constant),它属于unspecified behavior,因此通常不作讨论,认为它是错的就可以了。

赋值号的左边必须是一个左值,a+1是一个右值,因而不能放在赋值号的左边。

a+=a+1相当于a=a+(a+1),计算2a+1的值,并赋值给a。

a=b=0。左边第一个等号,是赋值运算。c=是关系运算,进行不等于。运算。关系运算的结果是一个逻辑值,C语言把False转换成0,把Truee转换成1。这个语句,先进行判断b是否不等于0,如果b为0,给a赋值0,。如果b不为0,给a赋值。