下面程序的运行结果是( )。 #include <stdio.h> union data {int i; char c; }; struct {char a[2]; int

下面程序的运行结果是( )。
#include <stdio.h>
union data
{int i;
char c;
};
struct
{char a[2];
int i;
union data d;
}p;
void main()
{printf("%d\n",sizeof(p));
}
A. 5
B. 6
C. 7
D. 8

如果int占2个字节,char a[2]占2个字节, i占2个,d占2个,所以选B
如果int占4个字节,那么因为字节对齐的缘故char a[2]占4个字节, i占4个,d占4个,就共占12个字节
温馨提示:答案为网友推荐,仅供参考
相似回答