strlen
介绍
注意:
- 字符串已经 ‘\0’ 作为结束标志,strlen函数返回的是在字符串中 ‘\0’ 前面出现的字符个数(不包含 ‘\0’ )。
- 参数指向的字符串必须要以 ‘\0’ 结束。
- 注意函数的返回值为size_t,是无符号的( 易错 )
- 学会strlen函数的模拟实现
模拟实现strlen
方式一
//计数器的方式
int my_strlen(const char* str)
{
int count = 0;
while (*str)
{
count++;
str++;
}
return count;
}
方式二
//不能创建临时变量计数器,递归的方式
int my_strlen(const char* str)
{
if (*str == '\0')
return 0;
else
return 1+my_strlen(str+1);
}
方式三
//指针-指针的方式
int my_strlen(char* s)
{
char* p = s;
while (*p != '\0')
p++;
return p-s;
}