【_ 面試 】short s1 = 1; s1 = s1 + 1; 有错吗?short s1 = 1; s1 += 1 有错吗;

short s1 = 1; s1 = s1 + 1; 有错吗?short s1 = 1; s1 += 1 有错吗;


前者不正确,后者正确。

  1. 对于 short s1 = 1; s1 = s1 + 1;由于 1 是 int 类型,因此 s1+1 运算结果也是 int 型,需要强制转换类型才能赋值给 short 型。
  2. short s1 = 1; s1 += 1;可以正确编译,因为 s1+= 1;相当于 s1 =(short)(s1 + 1);其中有隐含的强制类型转换。
发布了119 篇原创文章 · 获赞 178 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/o_o814222198/article/details/104091576
今日推荐