c++坑点:单引号的坑(单引号内多个字符)


   众所周知,在c++之中,双引号是用来表示其包括的内容为字符串,而单引号包括的内容表示其包括的为一个字符,那单引号的括起内容的实质是什么呢?

   于是,我开始了我的实践(作死)之路:

 

 

 

 

为什么当输出'AA'时,会输出这么神奇的数字16705?

 

下面我们就来研究一下这个问题:

Int 类型占据四个字节,即16位二进制

A的二进制为0100 0001,因此它的数值为65.

当有两个AA时,其为0100 0001 0100 0001

当将二进制0100000101000001转换为十进制时,其数字为16705

为什么在有的编译器当超出四个字符时会出现警告甚至报错,因为在c++之中,int类型为四个字节,即十六位,而每个字符类型为一个字节即四位。当超过四个字符时,有的编译器会自动转换为更高位数据类型,即long甚至long long(尚待实验)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM