方法一:

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

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

方法二:

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

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

方法三:

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

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