问题 单项选择题

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

单项选择题
填空题