【发布时间】:2020-04-18 06:35:43
【问题描述】:
#include <stdio.h>
int main(void) {
int d, a = 1 & 0 && (d=4);
printf("%d\n", d);
return 0;
}
根据操作符优先级() 语句d 应该被赋值但是在上面的程序中是逻辑的并且是最先执行的。 d 值未分配给 4。请任何人帮助我理解上述程序。我试过 gcc 和一些在线编译器
【问题讨论】:
-
&&短路。在任何情况下,运算符优先级都不会控制评估顺序。
标签: c operator-precedence