我陷入了递减的问题,代码如下
#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/