[求助]新手问C语言问题
2.下面程序的输出结果是什么? union un
{int a[4];
long b;
char c[6];}
main()
{
union un u;
printf("%d%d",sizeof(u),sizeof(u,a));
}
最后输出的结果是88, 为什么啊 高手帮忙解释下 谢谢了
谢谢帮忙啊 :)
搜索更多相关的解决方案:
C语言
----------------解决方案--------------------------------------------------------
sizeof(u),是求u这个联合的长度,也就是最长的那个元素的长度,也就是a[4]的长度,
一个int类型是2字节,4个就是8字节,
sizeof(u.a)是直接求a[4]的长度,也是8
----------------解决方案--------------------------------------------------------
掌握结构体(空间相加)和共用体(取最大值)
int a[4]--->2B*4=8B
long b--->4B*1=4B
char c[6]--->1B*6=6B
----------------解决方案--------------------------------------------------------
谢谢两位了 嘿嘿 搞明白了 HOHO
----------------解决方案--------------------------------------------------------