【发布时间】:2020-02-06 13:34:56
【问题描述】:
代码:
#include <stdio.h>
int main()
{
union sample
{
int m[2];
float n[3];
char ch[18];
}u;
printf("The size of union = %d\n", sizeof(u));
return 0;
}
我期待 18 作为输出 在这里它提供了意想不到的输出。
【问题讨论】:
-
你得到了什么输出,你期望什么输出?请阅读:How to Ask
-
@Fredrik 他可能会得到 20 作为输出,因为 int 和 float 的大小可能为 4,并且它正在将其对齐为它的倍数。