同为字符类型的3与‘3‘的区别

看了这两幅图你是否存在疑惑同为字符类型的3与'3'为什么值是不同的?

背景知识介绍:

字符类型数据存储的形式是ASCII码。例如:字符'0'的ASCII码值为48(十进制数),字符‘A’的ASCII码值为65。

如果以特定的格式输出,例如使用‘%c’格式输出,系统会打印ASCII码所对应字符,如果使用‘%d’格式输出,系统直接输出ASCII码对应整数。

由此可见程序本身是没有问题的,‘3’的ASCII码值可由‘0’的ASCII码值加3得51这也并没有问题。

那为什么3的ASCII码值还是3呢?

大胆推测这个3在内存中存储的本身就是ASCII码值(我们可以简单理解为是一个整数)。也就是说它本身是当一个字符所对应ASCII码值存储的(可理解为你要表示一个字符,你可以直接写出这个字符,也可写出这个字符所对应的ASCII码值来表示它)。

论证如下:

我们可以用一个ASCII码值反推出它所对应的字符。

3与‘3’的区别你明白了吗?

以后可别写错哟!

 如果此篇文章对你有帮助,请点个关注和赞吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值