问: 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);其中有隐含的强制类型转换。

1
2
3
4
5
6
7
8
{
    short s1 = 1;
    s1 = s1 + 1;// 由于1是int类型,因此s1 + 1运算结果也是int型,需要强制转换类型才能赋值给short型
}
{
    short s1 = 1;
    s1 += 1;// 因为s1 += 1;相当于s1 = (short)(s1 +1);其中有隐含的强制类型转换
}

 

 

posted @   草木物语  阅读(86)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2018-03-23 不要再熬夜了,这是全球公认最健康的作息时间表!
2017-03-23 图片margin:0 auto;为何不居中
点击右上角即可分享
微信分享提示