Chinaunix首页 | 论坛 | 博客
  • 博客访问: 83104
  • 博文数量: 28
  • 博客积分: 1415
  • 博客等级: 上尉
  • 技术积分: 240
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-12 13:54
文章分类

全部博文(28)

文章存档

2011年(1)

2010年(8)

2009年(19)

我的朋友

分类: C/C++

2010-03-14 15:04:51

参加软件工程师应聘的笔试常常会遇到这个题目--实现strcpy函数,原型是char * strcpy(char * target, const char * source);

如果你认为这是一个太简单的题目而敷衍了事,很可能马上被bishi了。

这道题可以说是“麻雀虽小,五章俱全”。第一,从你的代码中可以看出你的编码风格;第二,可以看出你的思维是否严密,对异常处理是否到位。

这里有一个参考答案,看看你写的和它有多大的差距吧:


char * strcpy(char * target, const char * source)
{
    if ((NULL == target) || (NULL == source))
    {
        throw "invalid argument(s)";
    }
    char * const targetCopy = target;
    while ((*target++ = *source++) != '\0');
    return targetCopy;
}


阅读(510) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~