如题所述
a=b=c是这样算的吗?为什么我令a=6,b=4,c=4,输出a=b=c,b=a=c,c=a=b都是6?
难道是各个系统之间的差异,我调试结果a=4,b=4,c=4
纠结啊!!!搞不懂!!
C语言运算讲究运算次序,各种不同的运算符有不同的优先级
==的优先级高于=,所以先对==进行运算,再对=运算
综上,这个式子相当于先算b==c,若二者相等,则将1赋值给a,否则将0赋值给a
那a=b=c怎么运算呢?
如a=1,b=2,c=3,结果是多少?
结果是0,这是判断吗?
是这样的printf("%d",a=b==c)
这是个赋值语句,就是3咯,应该,我现在有不死很清楚了