采用两种方法模拟实现一个strlen函数:
1.使用一个临时变量count
int my_strlen(char* str)
{
int count = 0;
while (*str != '\0')
{
count++;
str++; //地址定位到数组里面的下一个元素
}
return count;
}
int main()
{
char arr[] = "hello world";
//模拟实现一个strlen函数
printf("%d\n", my_strlen(arr)); //数组传参的时候传的是数组首元素的地址
return 0;
}
2.采用递归的思想(附详细图解)
int my_strlen(char* str)
{
if (*str != '\0')
return 1 + my_strlen(str + 1); //str + 1 是下一个字符的地址
else
return 0;
}
int main()
{
char arr[] = "hello world";
//模拟一个strlen函数
printf("%d\n", my_strlen(arr)); //数组传参的时候传的是数组首元素的地址
return 0;
}
递归图解