short a=1,a=a+1和a+=1有什么区别

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 01:32:22
short a=1,a=a+1和a+=1有什么区别
xRR@U¿^? b,Bdb)$E ?3=Oa)~X*99KdIdIpaI:%?"x?SW)Gw `cՂEWvulA$&պ0c4"d¬&5橘ߓ8GBmK `VDyDh}F˖Zeɼg<Ϳ-!쮼ٰ@Jx :1&lS (_xQ!ϝgUeX/ @B hRbzwpH,IxCLrI

short a=1,a=a+1和a+=1有什么区别
short a=1,a=a+1和a+=1有什么区别

short a=1,a=a+1和a+=1有什么区别
结果是不一样的,因为a=a+1;这句代码是错误的,a本身是short类型,而1天生就是int类型的,a与1做运算最终的结果是int类型的.所以无法直接将一个int型数据赋值给short型.
而a+=1;这句代码是正确的,它与a=1这种直接赋值的语句原理是一样的,他是先判断1是否在short类型数据的范围内,如果没有超出范围则直接赋给a.
a=a+1相当于:
short a=1;
int b=2;
a=b;
所以是错误的.