c - 一次减法和减法时的混乱
问题描述
我陷入了递减的问题,代码如下
#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 值的解释如下:首先因为它是一个后递减所以首先我们将从 x 中减少 y 的值,即 4-3 等于到 1,据我说,我们将再次从这个 1 减少 1(或者如果我在这里错了,我们不会纠正我)并且输出将为 0。
解决方案
表达式x--
的当前值为x
4。y
然后从该值中减去 的值,得到 1,即分配给 的值z
。
x
然后作为后减量的副作用而减量。
所以输出将是 3 3 1。
推荐阅读
- c# - 如何在特定计时器后更改每个动态创建的标签的背景色?c#
- css - 尽管有块值,但元素没有从新行开始?
- regex - 使用正则表达式获取高度和长度
- javascript - 登录后设置不记名令牌
- php - 在php中重定向到Iframe之外的另一个页面
- ansible - 从 ansible playbook 内部执行 docker-compose
- sql - 使用 DAX 在 Power BI 中分离列
- javascript - 如何正确地将“this”对象发送到函数
- firebase - Firebase 实时数据库中有关身份验证的信息
- flask - 烧瓶护身符。将sha256列入白名单不起作用