【发布时间】:2021-09-13 16:53:33
【问题描述】:
考虑到
int w = 1;
int x = 6;
int y = 5;
int z = 0;
z = !z || !x && !y;
printf("%d\n", z);
z = x-- == y + 1;
printf("%d\n", z);
如果 x-- 为 5 且 y+1 为 6,有人能解释一下下面的行如何计算为 1 吗?
z = x-- == y + 1;
【问题讨论】:
-
x--是 6。--x是 5。 -
您将
x--与--x混淆了。虽然两个表达式都将x减一,但前者的计算结果为x的old 值,而后者的计算结果为x的new 值。因此,在您的情况下,x--的计算结果为6,而x的值为5。
标签: c decrement postfix-operator equality-operator