【发布时间】:2018-12-15 05:26:25
【问题描述】:
#include <stdio.h>
int main(void) {
int a = 0, b = 0, c = 0;
++a || ++b && ++c;
printf("%d %d %d", a, b, c);
return 0;
}
gcc 8.1.0 的输出为 1、0、0。 && 的优先级应该高于 ||。
为什么b 和c 仍然是0?
【问题讨论】:
-
因为短路。
标签: c