1.函数介绍
1.1 strlen
strlen函数是库中用于求字符串的长度,我们在程序中求字符串的长度时常常用到,在使用时要包含:<string.h> 头文件。
(1)字符串已经 '\0' 作为结束标志,strlen函数返回的是在字符串中 '\0' 前面出现的字符个数(不包
含 '\0' )。
(2)size_t strlen ( const char * str );
(3)参数指向的字符串必须要以 '\0' 结束。
(4)注意函数的返回值为size_t,是无符号的( 易错 )。
具体实现如下:
#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;
}
1.2 strlen函数的模拟实现
三种方式:
方式1:
//计数器方式
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;
}
三种方法都能达到函数的模拟效果,希望对你所帮助。