【发布时间】:2015-09-20 19:48:12
【问题描述】:
在下面显示的程序中,应首先评估前缀,因为它具有更高的优先级,但答案是-2, 2, 0, 1,并在“因为||的LHS为真RHS不评估”一书中进行了解释。
为什么会这样?所有的增量都应该先执行,然后再根据优先级检查逻辑。
#include<stdio.h>
int main()
{
int i=-3, j=2, k=0, m;
m = ++i || ++j && ++k;
printf("%d, %d, %d, %d\n", i, j, k, m);
return 0;
}
【问题讨论】:
-
优先级与评估顺序完全无关。
-
@user2357112 请详细说明
标签: c pre-increment