问题
单项选择题
若有以下说明和定义 union dt {int a;char b;double c;}data; 以下叙述中错误的是 ______。
A.data的每个成员起始地址都相同
B.变量data所占的内存字节数与成员c所占字节数相等
C.程序段data=5;printf("%f\n",dat;输出结果为5.000000
D.data可以作为函数的实参
答案
参考答案:C
解析:[评析]union是表示共用体的关键字,成员a,b,c共占用同一个内存空间, data的每个成员起始地址都相同;共用体变量所占的内存长度等于最长的成员的长度,故变量data所占的内存字节数与成员c所占字节数相等:执行“data.a=5;printf("%f\n",data.c);”printf函数只是将内存中的数据以不同的类型输出,而不能将内存中的整型数据自动转换为等值的浮点数故C是错误的。