方法一:
使用计数器的方法进行统计,最容易想到的方法;
#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;
}
转载于:https://blog.51cto.com/10324228/1835861