字符类型和整型相加,为什么不是用字符的ASCII码值运算的

字符类型和整型相加,为什么不是用字符的ASCII码值运算的

这一题里,字符类型和整型相加,为什么不是用'8'的ACSII码值加1=88+1=89,然后执行default呢?

https://img1.sycdn.imooc.com//climg/63ef9b7409662bfb17680478.jpg

正在回答 回答被采纳积分+1

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

1回答
好帮手慕小脸 2023-02-18 10:39:33

同学你好,老师将此处的执行顺序做分析,方便同学理解:

1.代码第一行定义一个char类型的数据,字面值是8,ASC码值为56;

2.代码第二行定义一个int类型的数据,值为10;

3.代码第三行由于要进行加法运算,需要将char类型的数据转换为int类型之后才能计算,此时使用char的ASC码值,即56,进行加1之后变为57;

4.在case结构中,尝试依次匹配值为57的选项。注意,此时只要“值”为57即可,即无论字面值还是ASC值,任意可匹配都可。所以匹配到‘9’;执行case '9'中的内容得到结果16

祝学习愉快~


问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
计算机基础课
  • 参与学习       244    人
  • 解答问题       162    个

1000位程序员+大厂HR联袂推荐,面向所有程序员的计算机核心知识体系,优惠中~

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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