打印

C语言一道面试题

[复制链接]
楼主: wxj1952
手机看帖
扫描二维码
随时随地手机跟帖
21
gyt| | 2008-3-20 14:21 | 只看该作者 回帖奖励 |倒序浏览

很有意思

使用特权

评论回复
22
HWM| | 2008-3-20 14:35 | 只看该作者

21楼:允许稍作修改

typedef struct
{
    int A[10];
} struct_A;

struct_A A1,A2;

int main( void )
{
    ...
    A2 = A1;
    ...
    while ( 1 );
}

使用特权

评论回复
23
dld2| | 2008-3-20 14:40 | 只看该作者

今天才知道,结构变量可以直接a=b

不是我不明白,这世界变化快。

使用特权

评论回复
24
HWM| | 2008-3-20 14:50 | 只看该作者

我是给C++冲混了头脑,呵呵,回想起来C原来就有这个。

但这不是对象。用对象玩起来才够好玩的。

使用特权

评论回复
25
孤星119| | 2008-3-20 15:30 | 只看该作者

呵呵.自己面壁,不过结构体直接赋值好象也是才刚出来的哦.

使用特权

评论回复
26
要多动脑筋| | 2008-3-20 15:51 | 只看该作者

为什么要强调“整体”的形式?

最终执行不还是一条一条执行的?我还是觉得内存拷贝是最好的方法。

如果真要说要在面世中脱颖而出,可能最好是写出结构体赋值,然后告诉主考官,你出的题目太重形式啦

使用特权

评论回复
27
MicroMMU| | 2008-3-20 15:56 | 只看该作者

23L:如果考试你还是0分

LZ题目:  
现有2个类型完全一样的数组A、B,(例如 int a[10],b[10];) 用C/C51如何实现数组A、B之间的整体拷贝(赋值)?即应用下面形式:        
                A=B ; 

实际上考的目的就看你到指针强制转换。我虽然定义了一个结构体,但没有分配内存,而是利用相同结构体可以直接COPY,人家给的是数组,你那样你自己说有什么意义.

使用特权

评论回复
28
HWM| | 2008-3-20 15:58 | 只看该作者

强调“整体”还是有意义的,

不过这玩意儿在C里玩不大,建议用C++玩玩,最基本的先搞一套复数的运算符类,体验一下对象的魅力。

使用特权

评论回复
29
HWM| | 2008-3-20 16:11 | 只看该作者

re 28楼:不好意思,没详细审题。不过从结构上看更好些。

恕我直言,下面的程序让我批分的话也是F。

typedef
{
  int a[10];
}AB

main()
{
*(AA*)b=*(AA*)a;
while(1);
}

使用特权

评论回复
30
computer00| | 2008-3-20 16:16 | 只看该作者

哈哈~~~俺也去念会经~~~

使用特权

评论回复
31
john_light| | 2008-3-20 16:27 | 只看该作者

人有多大胆,地有多大产

上次从杭州到上海坐了一次动车,车上只有10个人,列车走了78分钟。

我想,如果坐的是100个人,列车只要7.8分钟就能走完杭州到上海这段小路。

使用特权

评论回复
32
wswh2o| | 2008-3-20 16:45 | 只看该作者

我要看答案

使用特权

评论回复
33
top_mao| | 2008-3-20 16:56 | 只看该作者

这道题我记得以前在21IC里有人问过。

说什么华为面试的道题,说什么是林锐博士写的一本关于C的书上的一道题。
考得不是什么东东,就是要看看面试者的编程思想和容错性。

使用特权

评论回复
34
dld2| | 2008-3-20 16:59 | 只看该作者

ls说的那个是自己实现memcpy,和这个不是一回事

使用特权

评论回复
35
古道热肠| | 2008-3-20 17:02 | 只看该作者

哈哈,要是俺招人,俺就看应聘者是否会用memcpy

用C语言就是为了简洁高效地完成任务。指针,结构体用在这,发挥不了专长。结构体最适合有长,有短各种类型变量的整合,这么规整的两数组,有什么好玩的。

使用特权

评论回复
36
ayb_ice| | 2008-3-20 17:13 | 只看该作者

还是学习了

使用特权

评论回复
37
wxj1952|  楼主 | 2008-3-20 18:20 | 只看该作者

memcpy是函数调用?

要跳转的。在控制实际中程序肯定单轨道可靠,容易设计容错/恢复点。

也有直接自己写memcpy的,那不是又成了按字节一个一个的传?

这道题大概出自网络应用,一个以太网卡一帧是1000多字节,一个一个字节的往上/下层传?(虽然最终汇编是按字节传的,可是C不是汇编,别把C当汇编用。)

这么一道简单的题,包含好多概念。

使用特权

评论回复
38
computer00| | 2008-3-20 18:32 | 只看该作者

memcpy可能会使用DMA传输...

直接使用结构体,也可能会先填充一堆参数,然后再调用一个复制的函数。

使用特权

评论回复
39
兰天白云| | 2008-3-20 18:44 | 只看该作者

先写个函数,然后调用,就一行呀

使用特权

评论回复
40
mohanwei| | 2008-3-20 19:44 | 只看该作者

memcpy……不要开口闭口谈对象……

如果以为对象很高深,建议看一下CString的底层实现……

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则