【发布时间】:2016-06-26 18:28:16
【问题描述】:
这是代码:
void main()
{
clrscr();
int a=-3 , b=2 , c=0, d;
d = ++a && ++b || ++c;
printf("a=%d , b=%d , c=%d, d=%d ",a,b,c,d);
getch();
}
输出:-2 , 3 , 0 , 1
我无法理解为什么c 的值没有增加,我认为应该是1 以及d = 1 的输出。
【问题讨论】:
-
请注意,答案与您询问看起来非常相似的表达式
d = ++a & ++b | ++c;的情况完全不同。
标签: c++ c logical-operators