short s1 = 1; s1 = s1 + 1; 有错吗?short s1 = 1; s1 += 1 有错吗;
前者不正确,后者正确。
- 对于
short s1 = 1; s1 = s1 + 1
;由于 1 是int
类型,因此 s1+1 运算结果也是int
型,需要强制转换类型才能赋值给short
型。 short s1 = 1; s1 += 1
;可以正确编译,因为 s1+= 1;相当于s1 =(short)(s1 + 1)
;其中有隐含的强制类型转换。
来源:CSDN
作者:_ 記
链接:https://blog.csdn.net/o_o814222198/article/details/104091576