C语言题目下面这个该如何解

#include<stdio.h>unionmyun{struct{intx,y,z;}u;intk;}a;voidmain(){a.u.x=4;a.u.y=5;a.u.... # include <stdio.h> union myun { struct { int x,y,z; } u; int k; }a; void main() { a.u.x=4; a.u.y=5; a.u.z=6; a.k=0; printf("%d %d %d\n", a.u.x, a.u.y, a.u.z); }的详细解答? 展开
 我来答
嗨喋爽739
2014-07-03 · 超过58用户采纳过TA的回答
知道答主
回答量:114
采纳率:0%
帮助的人:149万
展开全部
首先呢,变量a是一个共用体变量....这个共用体里面呢有两种数据类型, 一种是 struct 另外一种是int .. struct里面有3个int 所以,这个共用体的大小是3个int的大小...并且, int k应该是与struct中的第一个int x是重合的. a.u.x=4; a.u.y=5; a.u.z=6; 这些代码,为共用体中的struct赋值了..也就是为3个int赋值了.. a.k=0; 这句代码为共用体中的int k赋值了,也就是为struct中的第一个int赋值了..新的值覆盖了struct中的x的值,所以你输出的是 0 5 6
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式