标题:strcpy函数怎么写
只看楼主
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
 问题点数:0 回复次数:112 
strcpy函数怎么写
这是一个看似很简单的题目,假如作为公司面试题或者笔试题的时候
你会怎么写这个代码?

[color=white]
搜索更多相关主题的帖子: strcpy 函数 笔试 题目 代码 
2008-05-14 13:31
zjl138
Rank: 1
等 级:新手上路
威 望:1
帖 子:788
专家分:0
注 册:2007-11-12
得分:0 
char *strcpy(char *str1, const char *str2)

{

    assert((str1!=NULL) && (str2 !=NULL));

    char *str= str1;                  

    while( (*str1++ = * str2++) != ‘\0’ )   

       NULL ;

    return str ;                          

}
可读性可能不行,呵呵,不知能不能找到工作。

[[it] 本帖最后由 zjl138 于 2008-5-14 13:55 编辑 [/it]]

i like linux...
2008-05-14 13:54
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
得分:0 
程序代码:
/*strcpy function*/
void str_cpy(char *str_to, char *str_from)
{
    char c;
    while ((c=*(str_from++))!='\0')
    {
        *(str_to++)=c;
    }
        *str_to='\0';
}


可以么???

[[it] 本帖最后由 mqh21364 于 2008-5-14 14:39 编辑 [/it]]

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-05-14 13:55
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
得分:0 
佩服2#的const,assert,NULL;!!!!

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-05-14 13:56
zjl138
Rank: 1
等 级:新手上路
威 望:1
帖 子:788
专家分:0
注 册:2007-11-12
得分:0 
呵呵,三楼好像还少写了一句。
str_to字符串末尾没有加上'\0'

i like linux...
2008-05-14 14:09
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
得分:0 
哦,谢谢楼上的,我修改一下.

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-05-14 14:37
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
得分:0 
二楼的写法和某书一模一样,
不过,效率还能再提高么?

[color=white]
2008-05-14 15:33
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
燕子你是说把断言去掉吗?或者其它什么好方法啊?

学习需要安静。。海盗要重新来过。。
2008-05-14 16:00
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
得分:0 
去掉断言不应该算作提高效率吧??

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-05-14 16:05
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
得分:0 
假如去掉断言,那你这次面试注定会失败

[color=white]
2008-05-14 16:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-214249-1-1.html




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

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