之前的求字符串长度采用的是计数器的方法,这一次采用递归解决:
#include<stdio.h>
#include<assert.h>
int my_strlen(char* arr)
{
assert(arr != NULL);//确保指针的有效性
if (*arr != '\0')//只要计算字符串长度没有到'\0',则其后面还有字符
{
return 1 + my_strlen(arr + 1);//进行递归
}
else//当遇到'\0'时,递归停止
{
return 0;
}
}
int main()
{
char arr[] = "abcdef";
int len=my_strlen(arr);
printf("%d ", len);
}