gpt4 book ai didi

C "printf"Linux 和 Mac 输出不同

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:27:40 25 4
gpt4 key购买 nike

<分区>

#include <stdio.h>
int main(void) {
int i=1;
printf("%d %d\n", i+=1, i);
printf("%d %d\n", i, i+=1);
return 0;
}

以上代码在 Linux 和 Mac 中显示了不同的输出。在 Linux 中:(gcc 版本 4.9.2 20150212(Red Hat 4.9.2-6))

2 2
3 3

在 Mac 中:(Apple LLVM 版本 7.0.0 (clang-700.0.57.2))

2 2
2 3

在 Linux 中,我尝试使用 c11、c99、c89。但是输出是一样的。所以我认为这不是 C 标准问题。

  1. 为什么会有这样的行为?
  2. 哪一个是正确的,为什么?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com