标签: objective-c arithmetic-expressions
在C中,由于加法运算符(+)在减法( - )之前优先,我假设下面的表达式将返回0:
0
5 - 1 + 4
但不,它会返回8。那是为什么?
8
P.S。:在Objective-C中测试该表达。
编辑:显然我对加法优先于减法的假设是错误的。如果被认为没有帮助,请随时关闭此帖。
答案 0 :(得分:4)
因为添加不优先于减法。两者都具有相同的优先级,并且从左到右关联。因此5 - 1 + 4等同于(5 - 1) + 4。
(5 - 1) + 4
(评估顺序未指定,仅在操作数有副作用时才有意义。)