使用Dev-C++;和xcode编译器

使用Dev-C++;和xcode编译器,c,xcode,dev-c++,C,Xcode,Dev C++,当我编译下面的代码时,它会在不同的环境中给出不同的输出 在Dev-C++中编译它得到12,而在xcode LLVM编译器中它得到11作为输出 当我编译下面的代码时 它在Dev-C++中给出了19个,在xcode-LLVM编译器中给出了18个 有人能给我解释一下吗?下面的代码: a = ++a + ++a; 及 都是未定义行为的示例,因此结果取决于编译器、平台等 请看K&R的“C编程语言”,第2.12节,Aha。很久没有看到其中一种:)我们不能告诉你,因为行为是未定义的行为。++a+++a纯粹是

当我编译下面的代码时,它会在不同的环境中给出不同的输出

在Dev-C++中编译它得到12,而在xcode LLVM编译器中它得到11作为输出

当我编译下面的代码时

它在Dev-C++中给出了19个,在xcode-LLVM编译器中给出了18个

有人能给我解释一下吗?

下面的代码:

a = ++a + ++a;

都是未定义行为的示例,因此结果取决于编译器、平台等


请看K&R的“C编程语言”,第2.12节,Aha。很久没有看到其中一种:)我们不能告诉你,因为行为是未定义的行为。
++a+++a
纯粹是依赖于编译器的操作。这并不奇怪,我建议在
a=++a+a++
类型问题上应该有一个单独的标签;他们太多了;-)您可能已经为代表性最高的人创下了问这个糟糕问题的记录。@JimBalter感谢您让我知道,不管怎样,我在谷歌上搜索,没有发现任何东西,所以在这个社区上问这个问题。如果你觉得这个问题不好,但我仍然想对此进行研究,并得出结论。如果有人投反对票,那没关系。
int a=4;
a = ++a + ++a + ++a;
printf("%d",a);
a = ++a + ++a;
a = ++a + ++a + ++a;