我陷入了递减的问题,代码如下

#include <stdio.h>
int main()
{
int x = 4, y = 3, z;
z = x-- - y;
printf("%d %d %d\n",x,y,z);

return 0;
}


根据我所知道的输出应该是4 3 0
根据我对z值的解释如下:
首先,因为这是事后减量,所以首先我们将y的值从x减,即4-3等于1,根据我的看法,我们将再次从1减少1(或者如果我是我在这里错了),输出将为0。

最佳答案

表达式x--的计算结果为x的当前值为4。然后从该值中减去y的值,得出1,这是分配给z的值。
然后x作为递减的副作用而递减。

因此输出为3 3 1。

关于c - 混淆,同时减去和递减一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58607725/

10-11 15:57