一、库函数——strlen函数功能介绍与使用演示
1.API文档中的解释
(1)功能:Get the length of a string.即获取字符串的长度。
(2)参数:string即字符串
(3)返回值:The length of string.即字符串的长度
(4)头文件:<string.h>
2.使用演示
#include <string.h>
#include <stdio.h>
int main()
{
char s[] = "How long am I?";
int len = strlen(s);
printf( "'%s' is %d characters long\n", s, len );
}
3.说明
很显然,这里计算字符串长度的时候没有将字符串结束标志符’\0’算入进去。
二、streln的递归模拟实现与非递归实现
1.思路分析
2.3种情况下的代码实现
#include <stdio.h>
//方式1:非递归方式
int my_strlen1(char* str)
{
int count = 0;
while (*str != '\0')
{
count++;
str++;
}
return count;
}
//方式2:递归(创建临时变量)
int my_strlen2(char* str)
{
int count = 0;
if (*str != '\0')
count += 1+my_strlen2(++str);
return count;
}
//方法3:递归法(不创建临时变量)
int my_strlen3(char* str)
{
if (*str != '\0')
return 1 + my_strlen3(++str);
return 0;
}
int main()
{
char s[] = "abcdef";
//方式1:非递归方式
int len1 = my_strlen1(s);
printf("%d\n",len1);
//方式2:递归(创建临时变量)
int len2 = my_strlen2(s);
printf("%d\n", len2);
//方法3:递归法(不创建临时变量)
int len3 = my_strlen3(s);
printf("%d\n", len3);
}