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

admin2009-02-10  53

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

解析 union是表示共用体的关键字,成员a,b,c共占用同一个内存空间,  data的每个成员起始地址都相同;共用体变量所占的内存长度等于最长的成员的长度,故变量data所占的内存字节数与成员c所占字节数相等:执行“data.a=5;printf("%f\n",data.c);”printf函数只是将内存中的数据以不同的类型输出,而不能将内存中的整型数据自动转换为等值的浮点数故C是错误的。
转载请注明原文地址:https://kaotiyun.com/show/6XXp777K
0

最新回复(0)