【发布时间】:2016-04-22 08:03:43
【问题描述】:
我正在做复习问题,问我“下面的输出是什么”,我在理解这个函数的一些问题时遇到了一些麻烦:
int a = 1, b = 1, c = -1;
c = --a && b++;
printf("%d %d %d", a, b, c);
输出是 010。我的问题是关于第 2 行,c = --a && b++。这条线是如何处理的,它是如何工作/改变值的?如果是c = --a || b++?据我了解,我认为输出将是 020。
【问题讨论】:
-
了解 pre 和 post in/decrement 运算符属性。
-
在添加答案之前,请注意
--a && b++短路。
标签: c output logical-operators integer-arithmetic