最近学业很忙,一直没时间写博客,今天学到了递归,欢迎互相探讨,以下程序在VS2022环境下运行.
#define _CRT_SECURE_NO_WARNINGS 1
//编写函数不允许创建临时变量,求字符串的长度
#include<stdio.h>
int my_strlen(char* str)//传参用指针,地址传参
{
if (*str != '\0')//字符串最后结尾是\0,所以判断\0前面的内容
{
return 1 + my_strlen(str + 1);//计数字符串长度,my_strlen(str + 1)数组首元素地址+1就是第二个元素
}
else
{
return 0;
}
}
int main()
{
char arr[] = "zhao";//举例,假设计算“zhao”的长度
int len = my_strlen(arr);//创建一个计算字符串长度的函数
printf("len = %d\n", len);
return 0;
}