AI智能推荐题库-试题通 AI智能整理导入题库-试题通
×
首页 题库中心 库克谷计算机基础知识 题目详情
C90FAA98D48000013881138914B11768
库克谷计算机基础知识
3,075
单选题

以下程序的输出结果是()。
union myun
{ struct
{ int x, y, z; } u;
int k;
} a;
main()
{ a.u.x=4; a.u.y=5; a.u.z=6;
a.k=0;
printf("%d\n",a.u.x);}

A
4
B
5
C
6
D
0

答案解析

正确答案:D

解析:

myun是一个联合体结构,对于联合体的内存分布,这里一两句话说不清楚,展开一下就是上图示意的这个,其中K和U是重叠的,如果要问为什么U和K重叠,好吧,去看联合体的内存分配方式。

弄清楚这个问题之后就好办了,可以很明显地发现a.u.x和a.k指向的是同一个int型内存区,也就是说它们的值不管何时都是完全一样的。
所以改变a.u.x,a.k会受到影响,反正亦然!

因为执行了a.k=0;这一句,所以a.u.x也就变成了0,所以输出的是0.
库克谷计算机基础知识

扫码进入小程序
随时随地练习

关闭登录弹窗
专为自学备考人员打造
勾选图标
自助导入本地题库
勾选图标
多种刷题考试模式
勾选图标
本地离线答题搜题
勾选图标
扫码考试方便快捷
勾选图标
海量试题每日更新
波浪装饰图
欢迎登录试题通
可以使用以下方式扫码登陆
APP图标
使用APP登录
微信图标
使用微信登录
试题通小程序二维码
联系电话:
400-660-3606
试题通企业微信二维码