[C语言] 实现strlen

2015-11-19 23:07:12 · 作者: · 浏览: 19
#include 
#include 
 
//方法一:使用指针
 
int my_strlen(const  char *str)
{
    assert(str);
    int count = 0;
    while (*str++)
    {
        count++;
    }
    return count;
}
 
int main()
{
    char *str = "abcdef";
    int len = my_strlen(str);
    printf("%d\n", len);
    system("pause");
    return 0;
}
 
//方法二:递归实现
 
int my_strlen(const char *str)
{
    if (*str =='\0' )
    {
        return 0;
    }
    else
    {
        return 1 + my_strlen(str+1);  //str+1
    }
}
 
int main()
{
    char *str = "abcdef";
    //strlen(str) == 1+strlen(str+1)==1+1+strlen(str+1+1)
    int len = my_strlen(str);
    printf("%d\n", len);
    system("pause");
    return 0;
}

?