我们可以模拟实现strlen函数。传入指针arr时,进入函数,我们要判断该指针是不是空函数,防止空指针的出现,用到了断言assert。当一个数组元素没有走到‘ \0’ 时,我们就要利用递归1+my_strlen(arr+1),arr+1是走向下一个数组元素。并且递归的使用一定要有条件的设置,否则会进入死循环。
#include<stdio.h>
#include<assert.h>
int my_strlen(char*arr)
{
assert(arr);
if (*arr == 0)
return 0;
else
return 1 + my_strlen(arr+1);
}
int main()
{
char arr[] = "abcdefg";
int count = my_strlen(arr);
printf("%d", count);
return 0;
}