strlen函数的原理是在遇到字符串中的'\0'时候返回字符串长度;知道这个原理可以写一个自己的strlen函数
1.创建临时变量来模拟strlen
int my_strlen(const char*s1)
{
assert(s1);//判段是否为空
int count = 0;//计数器
while (*s1++)
{
count++;
}
return count;
}
2.递归实现
int my_strlen(const char *s)
{
assert(s);//判断是否为空
if (*str == '\0')
{
return 0;
}
else
{
return 1 + my_strlen(s + 1);
}
}
3.指针相减来计算
在一个指向字符串中的char* 类型的指针相减,可以的到元素个数,因此可以用指针相减计算
int my_strlen(const char* s)
{
assert(str);
const char* ss1 = s;
while (*str)
{
str++;
}
return ss1 - s;
}