12.45+'a'占几个字节。为什么?

[复制链接]
查看11 | 回复5 | 2011-11-26 18:16:47 | 显示全部楼层 |阅读模式
在ASCII码中,一个英文字母(不分大小写)和一个数字占一个字节的空间。(而一个中文汉字占两个字节的空间。)符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。那么,12.45+'a'占6个字节。'a',是单个字符,占一个字节的内存。...
回复

使用道具 举报

千问 | 2011-11-26 18:16:47 | 显示全部楼层
12.45+'a'这个表达式的结果的数据类型与12.45这个数据的数据类型一样。12.45占几个字节结果就是几个字节了。通常情况下int、float、double类型数据的字节数分别为2、4、8,但有的编译器不一样,用测试字节长度的函数sizeof(12.45+'a') 测试一下就知道了,输出printf("%d\n",sizeof(12.45+'a...
回复

使用道具 举报

千问 | 2011-11-26 18:16:47 | 显示全部楼层
在32位平台上占4字符(字节)的空间计算时按照占字节多的类型计算,所以12.45(float)+'a'(char)的计算结果占的字节和12.45(float)一样...
回复

使用道具 举报

千问 | 2011-11-26 18:16:47 | 显示全部楼层
一个float 或double...
回复

使用道具 举报

千问 | 2011-11-26 18:16:47 | 显示全部楼层
不是九个字节吗?...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行