版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40927789/article/details/81837450
方法1:计数法
int my_strlen(const char *str)
{
char *p = (char*)str;
int count = 0;
while(*p != '\0')
{
count++;
p++;
}
return count;
}
方法2:递归法
int my_strlen(const char *str)
{
char *p = (char*)str;
if(*p == '\0')
{
return 0;
}
return 1+my_strlen(p+1);
}
方法3:指针减指针法
(两个指针指向的必须是同一内存区域,则相减的结果就是两者之间相差的元素个数,否则无意义)
int my_strlen(const char *str)
{
char *p = (char*)str;
while(*p != '\0')
{
p++;
}
return p-str;
}