2-11 选择题 A选项

2-11 选择题 A选项

​char c = 'c';

int i = 1;

为什么  c += i;  编译不报错  

而 c = c + i; 编译报错

这两个表达式的区别是啥?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,c+=i;和c=c+i;是相同的,不过c+=i;会在编译运行过程中,将c+i的值转换为char类型,重新赋值给c。所以c+=i可以通过编译,而c=c+i不能通过编译。

祝学习愉快~

  • seagull丶7 提问者 #1

    那可以这样说嘛?

     c += i; 计算结果的数据类型,是+=左侧的数据类型

    object x = c + i;计算结果x的数据类型,等于c和i两个变量中 数据类型高的一方

    2021-05-16 19:07:45
  • 好帮手慕阿满 回复 提问者 seagull丶7 #2

    同学你好,可以这么理解。

    祝学习愉快~

    2021-05-17 10:11:48
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师