方法一:函数直接求字符串长度
#include<stdio.h>
#include<string.h>
int main()
{
char arr[] = "Hello";
int len = strlen(arr);//求字符串长度
printf("len= %d", len);
return 0;
}
方法二:函数变量求字符串长度
#include<stdio.h>
#include<string.h>
int my_strlen(char* str)
{
int count = 0;
while (*str != '\0')
{
count++;
str++;
}
return count;
}
int main()
{
char arr[] = "Hello";
//模拟实现了一个strlen函数
int len = my_strlen(arr);//arr是数组,数组传参,传过去的不是整个数组,而是第一个元素的地址
printf("len =%d\n", len);
return 0;
}
方法三:函数递归的方法求字符串长度
#include<stdio.h>
#include<string.h>
//递归的方法
int my_strlen(char* str)
{
if (*str != '\0')
{
return 1+my_strlen(str+1);
}
else
return 0;
}
//把大事化小
//my_strlen("Hello")
//1+my_strlen("ello")
//1+1+my_strlen("llo")
//1+1+1+my_strlen("lo")
//1+1+1+1+my_strlen("o")
//1+1+1+1+1+0
//5
int main()
{
char arr[] = "Hello";
//int len = strlen(arr);//求字符串长度
//printf("%d", len);
//模拟实现了一个strlen函数
int len = my_strlen(arr);//arr是数组,数组传参,传过去的不是整个数组,而是第一个元素的地址
printf("len =%d\n", len);
return 0;
}