函数(2)的解析式是什么?
- 内容介绍
- 文章标签
- 相关推荐
本文共计378个文字,预计阅读时间需要2分钟。
函数递归+函数自己调用自己即递归。它通常将一个大型的复杂问题转化为与原问题相似但规模较小的子问题来求解(思考方式)。递归的两个必要条件:存在递归限制条件,当满足这些条件时,递归停止。
函数递归
函数自己调用自己就叫递归。它通常把一个大型复杂的问题来转化为一个与原问题相似的规模较小的问题来求解(思考方式)。
递归的两个必要条件
存在限制条件,当满足这个限制条件的时候,递归便不再继续
每次递归调用之后越来越接近这个限制条件
例子 栈溢出:
#include <stdio.h>
int main()
{
printf("hehe\n");
main();
return 0;
}//递归常见的错误:栈溢出,没有限制条件容易栈溢出
此代码没有限制条件所以栈溢出
例子利用递归求字符长度:
int my_strlen(char* str)
{
if(*str !='\0')
return 1+my_strlen(str+1);
else
return 0;
}
#include<stdio.h>
int main(){
char arr[]="bit";
int len = my_strlen(arr);
printf("%d\n",len);
}
my_strlen 函数经过不断调用后将字符完整的输出直到数列到“\0”后终止再经过向上回归后计算出字符的长度。
本文共计378个文字,预计阅读时间需要2分钟。
函数递归+函数自己调用自己即递归。它通常将一个大型的复杂问题转化为与原问题相似但规模较小的子问题来求解(思考方式)。递归的两个必要条件:存在递归限制条件,当满足这些条件时,递归停止。
函数递归
函数自己调用自己就叫递归。它通常把一个大型复杂的问题来转化为一个与原问题相似的规模较小的问题来求解(思考方式)。
递归的两个必要条件
存在限制条件,当满足这个限制条件的时候,递归便不再继续
每次递归调用之后越来越接近这个限制条件
例子 栈溢出:
#include <stdio.h>
int main()
{
printf("hehe\n");
main();
return 0;
}//递归常见的错误:栈溢出,没有限制条件容易栈溢出
此代码没有限制条件所以栈溢出
例子利用递归求字符长度:
int my_strlen(char* str)
{
if(*str !='\0')
return 1+my_strlen(str+1);
else
return 0;
}
#include<stdio.h>
int main(){
char arr[]="bit";
int len = my_strlen(arr);
printf("%d\n",len);
}
my_strlen 函数经过不断调用后将字符完整的输出直到数列到“\0”后终止再经过向上回归后计算出字符的长度。

