C语言sizeof问题

经下列语句“charx=65;floaty=7.3;inta=100;doubleb=4.5;”定义后,sizeof(x),sizeof(y),sizeof(a),siz... 经下列语句“char x=65 ; float y=7.3; int a=100; double b=4.5;”定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为()选哪个?为什么,请解释。。。。A.2,2,2,4 B.1,2,2,4 C.1,4,2,8 D.2,4,2,8 展开
 我来答
匿名用户
2013-12-15
展开全部
选Cchar字符是一个字节的,所以是1float是四个字节的,所以是4而int这个有点特殊,有2个字节,也有4个字节double是8个字节的,所以是8sizeof是这个类型所占用的字节数
匿名用户
推荐于2018-03-07
展开全部
答案选C 在c语言中char int float double 分别占1 2 4 8 个字节大小.sizeof()是计算变量所占内存的大小
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吉紫萱功彭
2020-02-22 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:28%
帮助的人:924万
展开全部
你确定是14?
经测试
sizeof(STRING)
应该是字符串自身的大小
14没错
sizeof(STRING
+
n)
0<=n<=字符串的长度
大小一律
是4,这个好解释,做了+n运算之后STRING
+
n就是一个地址了,sizeof得到的是字符串指针的大小,所以是4字节
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
智傲易奉乾
2019-03-09 · TA获得超过3.3万个赞
知道大有可为答主
回答量:1.1万
采纳率:27%
帮助的人:901万
展开全部
宏被替换为后面的
也就是说sizeof(STRING+1)被替换为sizeof("Hello,world!"+1),严格来说这个都算语法错误,因为sizeof后面应该跟一个类型。所以默认的求得是字符串的长度,后面的会被忽略。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
崔蒙洪槐
2019-05-06 · TA获得超过3851个赞
知道小有建树答主
回答量:3117
采纳率:30%
帮助的人:167万
展开全部
int
2b+char
1b+float
4b
+char
[5]
5b
=
12b
联合体是指多个变量共享同一个起始地址。联合体的总字节数为占字节数最多的变量的字节数。
如该例中的char
u1[5]占了5byte比int
u2[2]多一个字节。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式