//1、不用库函数实现strlen(),返回的是不包含\0的长度
int my_strlen(const char* str)
{
    int count=0;
    while(*str != '\0')
    {
        count++;
        str++;
    }
    return count;
}


//2、不用库函数实现strcat()
char* my_strcat(char *s1, const char *s2)
{
    int s1len=my_strlen(s1);
    int s2len=my_strlen(s2);

    for (int i = s1len; i < s1len+s2len; i++)
    {
        s1[i]=s2[i-s1len];
    }

    return s1;
}

//3、不用库函数实现strcpy()
char* my_strcpy(char* src, char* des)
{
    if(src==NULL || des == NULL)
        return NULL;

    for(;*src!='\0';src++)
        *des++ = *src;

    *des='\0';
    return des;
}


//4、不用库函数实现strcmp()
int my_strcmp(char const* p, char const* q)
{
    assert((*p != NULL) && (*q != NULL));

    while (*p==*q)
    {
        if (*p == '\0')
        {
            return 0;
        }
        p++;
        q++;
    }

    if(*p > *q)
        return 1;
    else
        return -1;
}

 

相关文章:

  • 2021-10-22
  • 2021-12-12
  • 2021-12-09
  • 2021-11-13
  • 2022-01-21
  • 2021-10-30
  • 2021-10-10
  • 2021-12-24
猜你喜欢
  • 2021-12-06
  • 2022-12-23
  • 2021-05-20
  • 2021-09-05
相关资源
相似解决方案