其实就是运算符优先级问题
=运算符优先级很低,
先进行b==c运算,
判断b是否等于c,
是,结果为1,
不是,结果为0,
后进行=的运算,
把b==c的运算结果(1或0)赋给a,
所以a结果是1或0
对于a=b=c;
=是从右至左的运算符,
所以先进行b=c,把c值赋给b,
再进行a=b,把b的值赋给a。
C语言运算讲究运算次序,各种不同的运算符有不同的优先级
==的优先级高于=,所以先对==进行运算,再对=运算
综上,这个式子相当于先算b==c,若二者相等,则将1赋值给a,否则将0赋值给a
先判断b是否等于c,如果相等则结果为1,否则为0;再将0或1赋值给a
你好,a=b=c; 这个语句在不同的系统中会有不同的运算顺序,即,从左边依次开始赋值或从右边依次开始赋值。
=号是赋值的意思,==是这个值是多少的意思,或者判断相不相等的意思