免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 11259 | 回复: 33
打印 上一主题 下一主题

[C] 关于联合体的一道笔试题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-10-11 20:43 |只看该作者 |倒序浏览
不知道之前有没有人问过,给出下面程序的输出
  1. union {
  2.         int i;
  3.         char a[2];
  4. }x;

  5. int main(void)
  6. {
  7.         x.a[0]=10;
  8.         x.a[1]=1;
  9.         printf("%d\n",x.i);
  10.         return 0;
  11. }
复制代码
问考官,这能保证大端序和小端序都是一样的结果么?答曰,能,我们测试过了。
因为没接触过,不知道怎么解释,难道字符数组也像int之类的数据有高位和低位?那也得大端里的那a排在这个x的后两个字节上才行吧?

论坛徽章:
0
2 [报告]
发表于 2011-10-11 22:20 |只看该作者

论坛徽章:
0
3 [报告]
发表于 2011-10-11 22:28 |只看该作者
回复 2# KBTiller


    就说映像里是有人问过这问题。我跟他那题还是有区别的,首先x是外部变量,然后我这题明确没说是什么机器。
那这题大端序回是什么结果呢?10*2^24+1*2^16?

论坛徽章:
0
4 [报告]
发表于 2011-10-11 22:32 |只看该作者
本帖最后由 KBTiller 于 2011-10-11 22:34 编辑

回复 3# jeung


    还有 int 大小问题,2个字节还是4个字节

论坛徽章:
0
5 [报告]
发表于 2011-10-11 22:44 |只看该作者
问考官,这能保证大端序和小端序都是一样的结果么?答曰,能,我们测试过了。

主要觉得这句有意思

除了大端小段 (3210,0123 )
我记得在一份资料上看见过 1032 这种次序(好像是PDP-??)
不知道考官是怎么测试的

论坛徽章:
0
6 [报告]
发表于 2011-10-11 22:49 |只看该作者
不知道你是面试的那儿?他说的测试估计就是自己再电脑上编译运行了一下而已。

论坛徽章:
0
7 [报告]
发表于 2011-10-11 22:49 |只看该作者
回复  KBTiller


    那这题大端序回是什么结果呢?10*2^24+1*2^16?jeung 发表于 2011-10-11 22:28

如果int是4个字节应该是这个结果

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
8 [报告]
发表于 2011-10-11 22:57 |只看该作者
回复 1# jeung

>> 问考官,这能保证大端序和小端序都是一样的结果么?答曰,能,我们测试过了。
扇他丫的!

论坛徽章:
0
9 [报告]
发表于 2011-10-11 23:11 |只看该作者
扇他丫的
OwnWaterloo 发表于 2011-10-11 22:57



    正想呢,闲着蛋疼去面试的时候去,弄得我恍惚了一下午

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
10 [报告]
发表于 2011-10-12 08:57 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP