zoukankan      html  css  js  c++  java
  • 字符串自实现(一)(mystrcpy,mystrcat,mystrcmp)

    char* mystrcpy(char* str_one,const char* str_two)
    {
        char* tmp = str_one;
        while (*str_one++ = *str_two++)return tmp;
    }
    char* mystrcat(char* str_one,const char* str_two)
    {
        char* tmp = str_one;
        while (*str_one)str_one++;
        while (*str_one++ = *str_two++)return tmp;
    }
    
    //1-7为逐渐优化过程
    int mystrcmp1(const char* str_one,const char* str_two)
    {
        while (*str_one != ''&&*str_two != '')
        {
            if (*str_one > *str_two)
            {
                return 1;
            }
            else if (*str_one < *str_two)
            {
                return -1;
            }
            else
            {
                str_one++;
                str_two++;
            }
        }
        if (*str_one != ''&&*str_two == '')
        {
            return 1;
        }
        else if (*str_one == ''&&*str_two != '')
        {
            return -1;
        }
        else
        {
            return 0;
        }
    }
    
    int mystrcmp2(const char* str_one, const char* str_two)
    {
        while (*str_one != ''&&*str_two != '')
        {
            if (*str_one != *str_two)
            {
                return *str_one - *str_two;
            }
            else
            {
                str_one++;
                str_two++;
            }
        }
        return *str_one - *str_two;
    }
    
    
    int mystrcmp3(const char* str_one, const char* str_two)
    {
        while (*str_one != ''&&*str_two != '')
        {
            if (*str_one != *str_two)
            {
                break;
            }
            else
            {
                str_one++;
                str_two++;
            }
        }
        return *str_one - *str_two;
    }
    
    
    int mystrcmp4(const char* str_one, const char* str_two)
    {
        for (;*str_one != ''&&*str_two != '';str_one++,str_two++)
        {
            if (*str_one != *str_two)
            {
                break;
            }
        }
        return *str_one - *str_two;
    }
    
    int mystrcmp5(const char* str_one, const char* str_two)
    {
        for (; *str_one&&*str_two; str_one++, str_two++)
            if (*str_one != *str_two)
                break;
        return *str_one - *str_two;
    }
    
    int mystrcmp6(const char* str_one, const char* str_two)
    {
        for (; (*str_one&&*str_two) && (*str_one == *str_two); str_one++, str_two++);
        return *str_one - *str_two;
    }
    
    int mystrcmp7(const char* str_one, const char* str_two)
    {
        for (; (*str_one&&*str_two) && (*str_one++ == *str_two++););
            return *str_one - *str_two;
    }
  • 相关阅读:
    日历
    复数的运算
    大数的计算
    poj 1562
    POJ 1002
    利用正则表达式检测违禁字
    js实现一个闹钟
    jQuery实现五星好评
    jquery实现计算器功能
    横向轮播图
  • 原文地址:https://www.cnblogs.com/SunShine-gzw/p/14113553.html
Copyright © 2011-2022 走看看