int范围是由编译器决定的。 对于32位或64位编旦改译器, int范围为2^31-1, 所以这里会输出65536对于16位编译器, int范围晌数是32767(2^15-1) 所模谨判以65536是溢出,65536=0x10000; 世纪a=b=0;输出0.
a,b都是整型变量饥团瞎(十六位二进制数),65536超出了它们的范围,它的二进制值或雹是1后面十六个0,把烂空它存放到a或b里面就会产生溢出,于是只取后面的十六位数,也就是十六个0,故结果输出0