多方法实现对字符串长度的统计

方法一:

使用计数器的方法进行统计,最容易想到的方法;

#include <stdio.h>
#include <stdlib.h>
  #include <assert.h>
 
int my_strlen(char *string)
{
    assert(srring!=NULL);
    int count = 0;
    char *pstr = string;
    while (*pstr)
    {
    count++;
    pstr++;
    }
    return count;
}

方法二:

通过递归的方式是实现(该方法会加大系统开销,效率相对较低);

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
  
int my_strlen(char *string)
{
    assert(string != NULL);
    char *pstr = string;
    if (*pstr == '\0')
        return 0;
    else
        return 1 + my_strlen(pstr + 1);
}

方法三:

使用指针统计字符串的长度

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
  
int my_strlen(char *string)
{
    assert(string != NULL);
    char *pstart = string;
    char *pend = string;
    while (*pend)
    {
        pend++;
    }
    return pend - pstart;
}