这道题是从网课上看的,自己琢磨了一下,在此分享一下。
1.这道题,要涉及一点点指针的内容,通过改变指针,来改变字符串的定位,配合if else语句判断,因为字符串的结束符位 \0 ,所以就判断这个。
2.
#include<stdio.h>
int my_strlen(char* str)
{
if (*str != '\0')//如果没有到结束符,就判断
return 1 + my_strlen(str + 1);//依次加一,判断到了\0
//就返回0,依次加+1
else return 0;
}
main()
{
char arr[] = "abcc";
int sum = my_strlen(arr);
printf("the len is %d", sum);
return 0;
}
3.结果