单选题
以下程序的输出结果是()。
以下程序的输出结果是()。
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.
myun是一个联合体结构,对于联合体的内存分布,这里一两句话说不清楚,展开一下就是上图示意的这个,其中K和U是重叠的,如果要问为什么U和K重叠,好吧,去看联合体的内存分配方式。
弄清楚这个问题之后就好办了,可以很明显地发现a.u.x和a.k指向的是同一个int型内存区,也就是说它们的值不管何时都是完全一样的。
所以改变a.u.x,a.k会受到影响,反正亦然!
因为执行了a.k=0;这一句,所以a.u.x也就变成了0,所以输出的是0.
题目纠错
计算机省级考试题目
相关题目
单选题
在 WINDOWS环境中,鼠标主要的三种操作方式是:单击、双击和( )
单选题
在 WINDOWS环境中,鼠标是重要的输入工具,而键盘( )
单选题
在 WINDOWS环境中,每个窗口最上面有一个“标题栏”,把鼠标光标指向该处,然后“拖放”,则可以( )
单选题
在 WINDOWS环境下的一般情况下,不能执行一个应用程序的操作是( )
单选题
在 Windows 中有两个管理系统资源的程序组,它们是( )。
单选题
预防软盘感染病毒的有效方法是( )
单选题
语言处理程序的发展经历了( )三个发展阶段。
单选题
有关格式刷正确说法是( )。
单选题
用户在Word编辑文档时,选择某一段文字后,把鼠标指针置于选中文本的任一位置,按Ctrl 键并按鼠标左键不放,拖到另一位置上才放开鼠标。那么,该用户刚才的操作是( )。
单选题
用户在 WORD中编辑某文档时,突然被要求创建一新的文档进行编辑。这时,该用户正确操作方法是( )。
