这是一个示例代码,用于显示LLVM编译器和GCC的不同输出.我想知道为什么?答案应该很简单,但我看不到它.(Xcode 4.6.1)
代码:
#include <stdio.h>
#define MAX(a,b) ( (a) > (b) ? (a) : (b) )
int increment() {
static int i = 42;
i += 5;
printf("increment returns %d\n",i);
return i;
}
int main( int argc, char ** argv ) {
int x = 50;
printf("max of %d and %d is %d\n", x,increment(),MAX(x, increment()));
printf("max of %d and %d is %d\n", x,increment(),MAX(x, increment()));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
LLVM输出:
increment returns 47
increment returns 52
increment returns 57
max of 50 …Run Code Online (Sandbox Code Playgroud)