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