AI智能整理导入 AI智能整理导入
×
首页 题库中心 级蒜挤鸡嫩芝士大赛 题目详情
C90FE803D1A00001C0B91D8282D71650
级蒜挤鸡嫩芝士大赛
2,740
单选题

以下程序的输出结果是()。

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登录
试题通
使用微信登录
xiaochengxu
联系电话:
400-660-3606
xiaochengxu