在Mac上使用GCC版本4.2.1(Apple Inc. build 5664)时,以下小程序非常笨拙.
#include <stdio.h>
int main(){
int x = 1 << 32;
int y = 32;
int z = 1 << y;
printf("x:%d, z: %d\n", x, z);
}
Run Code Online (Sandbox Code Playgroud)
结果是x:0, z: 1.
知道为什么x和z的值不同吗?
非常感谢.