计算机二级

有以下定义和语句,则sizeof(a) 的值是【 】,而sizeof(a,share)的值是【 】struct date{ int day;int mouth;int year;union{int share1;float share2;}share;}a;

题目

有以下定义和语句,则sizeof(a) 的值是【 】,而sizeof(a,share)的值是【 】

struct date

{ int day;

int mouth;

int year;

union{int share1;

float share2;

}share;

}a;

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

假设sizeof(int)的值为4,对数组定义:int a[3][6];则sizeof(a[0] )的值为______。

假设sizeof(int)的值为4,对数组定义:int a[3][6];则sizeof(a[0] )的值为______。


4

第2题:

【单选题】设有以下说明和定义: typedef union{ long i; int k[5]; char c; }DATE; struct date{ int cat; DATE cow; double dog; }too; DATE max; 则下列语句的执行结果是 。 printf ("%dn",sizeof(struct date)+sizeof(max));

A.26

B.30

C.18

D.8


B 用typedef说明的类型不是必须用大写,而是习惯上用大写。

第3题:

设有以下说明和定义: typedef union {long i int k[5];char c;}DATE; struct date {int cat;DATE cow;double dog;}too; DATE max; 则下列语句的执行结果是 ( ) printf("%d",sizeof(struet date)+sizeof(max));

A.26

B.30

C.18

D.8


正确答案:B

第4题:

设有以下定义: typedef union { longi; int k[5];char c;}DATE; srtuct date { int cat;DATEcow;double dog;} too; DATE max; 则下语句的执行结果是 ( ) printf("%d,"sizeof(struct date))+size of(max));

A.25

B.30

C.18

D.8


正确答案:B

第5题:

设有以下说明和定义:typedef union{ long i;int k[5];char c; } DATE;struct date{ int cat;DATE cow;double dog; }too;DATE max;则下列语句的执行结果是______。printf("%d",sizeof (struct date) +sizeof(max));

A.26

B.30

C.18

D.8


正确答案:B

第6题:

有以下定义和语句,则sizeof(a.share)的值是( )。

struct date

{ unsigned int day;

unsigned int mouth;

unsigned int year;

union{int share1;

float share2;

}share;

}a;


正确答案:4
4

第7题:

已知如下定义,则sizeof(a)的值是 struct{ int i; char c; double a;}a;

A.8

B.9

C.10

D.11


正确答案:D
解析:结构体在内存中是连续存放的,一个结构体类型的变量所占用的空间是其所有成员所占空间的总和。double类型所占的空间为8个字节。

第8题:

设有以下说明和定义:

typedef union {long i; int k[5]; char c;} DATE;

struct data { int cat; DATE cow; double dog;} too;

DATE max;

则语句 printf("%d",sizeof(struct date)+sizeof(max));的执行结果是:___52____


正确答案:
答:DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20
data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.
所以结果是 20 + 32 = 52.
当然...在某些16位编辑器下, int可能是2字节,那么结果是 int2 + DATE10 + double8 = 20

第9题:

已知如下定义,则sizeof(a)的值是

struct{int i;

char c;

double a; } a;

A.8

B.9

C.10

D.11


正确答案:D