A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

sizeof('a') = 4?
是因为计算的它的ascii码。。。
可它实际上只占1个字节?
没理解谁能给我讲一下啊。。。

10 个回复

正序浏览
来学习了
回复 使用道具 举报
楼上的答案都很正确了,ascii码是数字,不标识出是字符型的时候,会默认是整型,结果自然是4
回复 使用道具 举报

前来学习了
回复 使用道具 举报
前来学习了         
回复 使用道具 举报
char类型比较特殊,char的右边的字符是按转成ascii存储的,实际占4个字节,当赋值给char类型的变量,会把高位的3个字节舍弃,压入到char类型变量中
回复 使用道具 举报
三楼正解
回复 使用道具 举报
这么一说我也有点想不通了,求解!!
回复 使用道具 举报
直接写'a',转为ascii码值 相当于是一个int类型的常量 sizeof('a') = 4;
写char ch = 'a',是一个变量  sizeof(ch) = 1.
回复 使用道具 举报 1 0
飘过........
回复 使用道具 举报
char ch = 'a';
sizeof(ch)就是等于1,
但是sizeof('a')还是4个字节。
char类型的变量是占一个字节。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马