c - Dev-C++ 和 xcode 编译器的不同输出

标签 c xcode dev-c++

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

int a=4;
a = ++a + ++a;
printf("%d",a);

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

当我编译以下代码时

int a=4;
a = ++a + ++a + ++a;
printf("%d",a);

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

谁能给我解释一下吗?

最佳答案

以下代码:

a = ++a + ++a;

a = ++a + ++a + ++a;

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

请参阅 K&R 的“C 编程语言”,第 2.12 节

关于c - Dev-C++ 和 xcode 编译器的不同输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15738588/

相关文章:

c++ - c/c++中的DNS查询

ios - 在 Xcode 中,哪个具有 'final' View ? : Alignment rectangle, 或 View 的框架

c - DEV C++ 头文件列表

c - 如何在 C 中检查 char 数组的前两个字符?

c - 函数插入仅适用于 malloc 而不是 free

C套接字编程: binding with getaddrinfo() and get device IP server is available

ios - 如何使用 Objective-C iOS 创建菱形按钮

xcode - 如何在 Mac 上编译/构建 Ada?

c++ - "cannot open output file filename.exe: Permission denied"

c - 源文件 没有这个目录?