若有以下说明和定义 union dt {int a;char b;double c;} data; 以下叙述中错误的是

admin2018-01-11  31

问题 若有以下说明和定义
    union dt
    {int  a;char  b;double  c;} data;
    以下叙述中错误的是

选项 A、data的每个成员起始地址都相同
B、变量data所占内存字节数与成员C所占字节数相等
C、程序段:data.a=5;printf("%f\n",data.c);输出结果为5.000000
D、data可以作为函数的实参

答案C

解析 本题主要考查联合的定义和使用。选项A联合中每个成员起始地址都是一样的,正确;选项B联合的长度等于长度最长成员的长度,在data中,成员c是double类型,长度为8个字节最长,因此data所占用字节数和成员c长度一致。选项C整型和double类型的存储格式不一致,整数5在内存中的存储格式和浮点数5存储格式不一样,因此data.c输出不会是5.000000;选项D联合和结构体都可以作为函数实参。
转载请注明原文地址:https://jikaoti.com/ti/QOa0FFFM
0

最新回复(0)