| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2368 人关注过本帖, 2 人收藏
标题:两道笔试题,很有代表性,请高手们帮忙解释一下,先谢谢了
只看楼主 加入收藏
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
以下是引用laoyang103在2011-10-6 22:57:58的发言:

我觉得这不像面试题

为什么

我就是真命天子,顺我者生,逆我者死!
2011-10-06 22:59
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 
下标能负数???

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-10-07 11:08
mfh
Rank: 6Rank: 6
等 级:侠之大者
帖 子:179
专家分:411
注 册:2009-5-31
收藏
得分:0 
*PTR2在不同的机器上或是同一机器不同时刻运行的结果会不确定。
2011-10-07 11:14
yyjinlong
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2011-6-24
收藏
得分:0 
回复 5楼 waterstar
是去答笔试题的时候遇见的 我们去的几个几乎都没答对 这题太让人上火了...........
2011-10-09 08:13
yyjinlong
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2011-6-24
收藏
得分:0 
回复 6楼 lz1091914999
北京启明星辰 做安全的一个公司 全是linux下C 语言 打得一头雾水啊
2011-10-09 08:27
yyjinlong
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2011-6-24
收藏
得分:0 
回复 10楼 laoyang103
这个真是笔试题
2011-10-09 08:38
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 15楼 yyjinlong
下次面试前上网搜一下大公司相关职位的面试题

总有那身价贱的人给作业贴回复完整的代码
2011-10-09 08:39
silent_world
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:258
专家分:1138
注 册:2011-9-24
收藏
得分:0 
回复 楼主 yyjinlong
其实,第二道题是比较深入的C语言题,涉及面较广。在嵌入式上需要注意。
可以从底层一条一条解释:
首先,从计算机指令分析,一条指令流水线的取数环节,一般一个一个脉冲驱动;
其次,在取数过程中,根据指令带宽,如32位(4 byte),取数首地址一般为4的整数倍,如果不为4的整数倍,就涉及到跨段取数;
在大多数操作系统中,如果系统不进行处理,一般是不进行跨段取数,也不进行多次取数;
根据不同平台,处理结果如下例:
char ptr[12]={0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb};
int *ptr2=(int *)((int)ptr+5);
ptr2的值,在不同的平台上会是不同的表现, 默认为全部小端(little endian):
在win32上,系统处理了跨段问题, ptr2 值为0x5060708
在有些对齐处理平台上,ptr2值为0x4050607
在有些未对其处理平台上,ptr2值为0x5060704
有些未加保护处理平台上,就直接报segment fault。

你可以根据此原理,算算面试题。
2011-10-09 12:31
cosam
Rank: 4
等 级:业余侠客
帖 子:146
专家分:259
注 册:2011-8-25
收藏
得分:0 
记得好久之前这道题难住了我,最近学了汇编,现在看这道题目涉及了部份汇编的知识,特别是最后一个问题int *ptr2=(int *)((int)a+1);
。竟然用到了86机寄存器的一些工作的原理,不知道一些16位机如何兼容8位机的同学可能不懂这是如何截位的。这不单是考C语言的,还考计算机构成原理的。察,现在翻出这贴
来感叹一下。

[ 本帖最后由 cosam 于 2011-11-12 17:10 编辑 ]
2011-11-12 16:55
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
c程序员不把指针搞明白了还不如去学别的语言

总有那身价贱的人给作业贴回复完整的代码
2011-11-12 18:30
快速回复:两道笔试题,很有代表性,请高手们帮忙解释一下,先谢谢了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017446 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved