【发布时间】:2015-10-03 14:33:40
【问题描述】:
谁能解释为什么执行后c仍然等于15
int main(void)
{
int t,a=5,b=10,c=15;
t= ++a||++c;
printf("%d %d %d",t,a,c);
}
【问题讨论】:
标签: c logical-operators pre-increment
谁能解释为什么执行后c仍然等于15
int main(void)
{
int t,a=5,b=10,c=15;
t= ++a||++c;
printf("%d %d %d",t,a,c);
}
【问题讨论】:
标签: c logical-operators pre-increment
逻辑或运算符|| 是一个短路运算符。如果左侧计算为真正的布尔值(即非 0),则右侧不会执行。
对于逻辑与运算符&& 类似,如果左侧为假(即 0),则右侧不执行。
【讨论】: