108. 以下程序的输出结果是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怎么得出的???112. 下面的程序执行后,文件testt.t中的内容是#include <stdi

展开全部
收起
3回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 徐子衿

    12人对此回答表示赞同

    第一题:union表示几个变量共用一个内存位置,在不同的时间保存不同的数据类型和不同长度的变量。在union中,所有的共用体成员共用一个空间,并且同一时间只能储存其中一个成员变量的值。因此你开始赋值struct,后来赋值k时,a.u.x已经被重新赋值了。
    展开
    12
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • Kennedy

    12人对此回答表示赞同

    嗯,这种问题建议多看一下书,应该都可以找到答案。兴趣是你学习c语言的最大动力。还有上面的两位回答的都很好
    展开
    12
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 世事秋凉

    3人对此回答表示赞同

    第一题:
    这题要掌握的要点是 联合体 union 是成员变量共用一个存储空间的。具体来说,struct{ int x, y, z; } u和int k在内存中是存在同一个地址的。所以前面虽然a.u.x=4,第一个int被赋值为4,但是后来a.k=0的赋值操作把这篇内存的值覆盖了,所以 输出a.u.x的值其实是0。这样说能明白吗?
    第二题的题目你能重新贴一下吗?感觉有点问题。fun(char *fname.,char *st)是两个参数的,后面调用fun("test"
    展开
    3
    0回复
    发布于 5年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部