解释C如何评估此表达式

Joh*_*ohn 1 c

x=4+2%-8;
Run Code Online (Sandbox Code Playgroud)

这给出了输出= 6请有人解释如何?

小智 12

x=4+2%-8;等于x = 4 + (2 % -8);给出的x = 4 + 2是6.

更多:C运算符优先级表

  • +1:但是有一个抱怨; 负`y'的`(x%y)`的值是C90中的*implementation-defined*. (13认同)

She*_*Pro 6

如果检查此优先级图表,则首先采用mod,然后将其添加到4

所以(2%-8)给人2
然后 2+4 = 6