微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C 中的递减混淆

如何解决C 中的递减混淆

我收到了一个 C 脚本,但递减时发生了一些奇怪的事情,我需要帮助才能知道它为什么不起作用。

#include <stdio.h>

int main()
{
    int a = 10;
    a=a--;
    printf("test %d\n",a);

    return 0;
}

在我的脑海中,脚本是这样的:

  1. 将 a 定义为值为 10 的整数。
  2. 从 a 中检索 10。
  3. 将 10 分配给 a。
  4. 将 a 减 1。
  5. 打印“测试 9”。
  6. 计划结束。

但是当我运行它时:

test 10

这很奇怪,我以为是 9。

然后我尝试使用稍后...

#include <stdio.h>

int main()
{
    int a = 10;
    a=a--;
    printf("test1 %d\n",a);
    
    int j = a;
    printf("test2 %d\n",j);
    
    return 0;
}

但还是 10:

test1 10
test2 10

为什么会这样?递减似乎没有任何作用...

预先感谢您的帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。