A-A+

若有以下说明和定义 union dt {int a;char b;double c;}dat

2022-08-06 01:19:29 问答库 阅读 174 次

问题详情

若有以下说明和定义 union dt {int a;char b;double c;}data; 以下叙述中错误的是 ______。
A.data的每个成员起始地址都相同
B.变量data所占的内存字节数与成员c所占字节数相等
C.程序段data.a=5;printf("%fn",data.c);输出结果为5.000000
D.data可以作为函数的实参

参考答案

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

考点:定义