Chinaunix首页 | 论坛 | 博客
  • 博客访问: 555648
  • 博文数量: 99
  • 博客积分: 5015
  • 博客等级: 大校
  • 技术积分: 1209
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-28 23:08
文章存档

2011年(7)

2010年(6)

2009年(86)

我的朋友

分类: C/C++

2009-09-01 11:18:01

strcpy:
   
strcmp:
   
strchr:
   
 
在linux的函数库中这几个函数写法如下:
  strcpy:
        

char *strcpy(char *dest, const char *src)
{
        char *tmp = dest;

        while ((*dest++ = *src++) != '\0')
                /* nothing */;
        return tmp;
}

strcmp:

int strcmp(const char *cs, const char *ct)
{
        signed char __res;

        while (1) {
                if ((__res = *cs - *ct++) != 0 || !*cs++)
                        break;
        }
        return __res;
}

strchr:

char *strchr(const char *s, int c)
{
        for (; *s != (char)c; ++s)
                if (*s == '\0')
                        return NULL;
        return (char *)s;
}

个人建议:在笔试面试中,最好在函数中加个出错判断,如assert(S == NULL )

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