首页 > 试题广场 >

给出以下程序的执行结果。 #include #pragm

[问答题]
给出以下程序的执行结果。
#include <stdio.h>
#pragma pack(1)
typedef union
{   long i;
    short int k[5];
    char c;
} DATE;
struct date
{   short int cat;
    DATE cow;
    double dog;
} too;
DATE max;
void main()
{
    printf("%d\n",sizeof(struct date) + sizeof(max));
}

推荐
共用体DATE的大小是最大成员k[5]的大小,sizeof(max)=2*5=10个字节。结构体类型dete的大小是所有成员大小的总和,sizeof(struct date)=2+10+8=20。因此,sizeof(struct date)+sizeof(max)=20+10=30。因此程序输出为:30。
发表于 2018-05-07 20:40:59 回复(0)