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

admin2016-12-18  30

问题 若有以下说明和定义
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/Mti0FFFM
0

最新回复(0)