#includevoid main(){ short a=65535; int b,c; b=a; c=(int) 65535; printf("\na=%d,b=%d,c=%d",a,b,c);}
a=-1,b=-1,c=65535a是short型,只有2字节,所以65535溢出了,变成-1了当a赋值给b的时候,b是个int,直接得到了a的值-1,而不会得到65535c在赋值的时候进行了强制转换,但是其实多此一举,不强制转换也可以赋值成功