一、strlen函数的介绍
1、使用格式
size_t strlen ( const char * str );
2、使用规则
- 字符串已经 ‘\0’ 作为结束标志,strlen函数返回的是在字符串中 ‘\0’ 前面出现的字符个数(不包含 ‘\0’ )。
- 参数指向的字符串必须要以 ‘\0’ 结束。
- 注意函数的返回值为size_t,是无符号的( 易错 )
3、使用举例
#include <stdio.h>
int main()
{
const char*str1 = "abcdef";
const char*str2 = "bbb";
if (strlen(str2) - strlen(str1)>0)
{
printf("str2>str1\n");
}
else
{
printf("srt1>str2\n");
}
return 0;
}
二、strlen函数的模拟实现
1、计数器模式
//计数器模式
int my_strlen(const char* str)
{
int count = 0;
while (*str != '\0')
{
++count;
str++;
}
return count;
}
2、不创建临时变量的方式
int my_strlen(const char * str)
{
if (*str == '\0')
return 0;
else
return 1 + my_strlen(str + 1);
}
3、指针-指针的方式
int my_strlen(char *s)
{
char *p = s;
while (*p != '\0')
p++;
return p - s;
}