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

12 查阅

若有以下说明和定义 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是错误的。

计算机二级