开发者社区 问答 正文

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

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

展开
收起
问问小秘 2020-03-27 16:28:55 857 分享 版权
1 条回答
写回答
取消 提交回答
  • 对于 short s1 = 1; s1 = s1 + 1;由于 1 是 int 类型,因此 s1+1 运算结果也是 int型,需要强制转换类型才能赋值给 short 型。

    而 short s1 = 1; s1 += 1;可以正确编译,因为 s1+= 1;相当于 s1 = (short(s1 + 1);其中有隐含的强制类型转换。

    2020-03-27 16:29:06
    赞同 展开评论
问答地址: