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
展开
10个回答
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()是计算变量所占内存的大小
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你确定是14?
经测试
sizeof(STRING)
应该是字符串自身的大小
14没错
sizeof(STRING
+
n)
0<=n<=字符串的长度
大小一律
是4,这个好解释,做了+n运算之后STRING
+
n就是一个地址了,sizeof得到的是字符串指针的大小,所以是4字节
经测试
sizeof(STRING)
应该是字符串自身的大小
14没错
sizeof(STRING
+
n)
0<=n<=字符串的长度
大小一律
是4,这个好解释,做了+n运算之后STRING
+
n就是一个地址了,sizeof得到的是字符串指针的大小,所以是4字节
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
宏被替换为后面的
也就是说sizeof(STRING+1)被替换为sizeof("Hello,world!"+1),严格来说这个都算语法错误,因为sizeof后面应该跟一个类型。所以默认的求得是字符串的长度,后面的会被忽略。
也就是说sizeof(STRING+1)被替换为sizeof("Hello,world!"+1),严格来说这个都算语法错误,因为sizeof后面应该跟一个类型。所以默认的求得是字符串的长度,后面的会被忽略。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int
2b+char
1b+float
4b
+char
[5]
5b
=
12b
联合体是指多个变量共享同一个起始地址。联合体的总字节数为占字节数最多的变量的字节数。
如该例中的char
u1[5]占了5byte比int
u2[2]多一个字节。
2b+char
1b+float
4b
+char
[5]
5b
=
12b
联合体是指多个变量共享同一个起始地址。联合体的总字节数为占字节数最多的变量的字节数。
如该例中的char
u1[5]占了5byte比int
u2[2]多一个字节。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询