#include<stdio.h>
//求字符串长度,不允许创建临时变量
int my_strlen(char *arr){
if(*arr != '\0'){
return 1 + my_strlen(arr+1);
}
else{
return 0;
}
}
int main(){
char arr[] = "abcd";
int len = my_strlen(arr);
printf("%d",len);
return 0;
}
//print(abcd)
//1 + print(bcd)
//1 + 1 + print(cd)
//1 + 1 + 1 +print(d)
//1 + 1 +1 + 1 + print('\0')
//1 + 1 + 1 + 1 + 0
//输出结果为:4
图示讲解如下: