标签:总结 函数 递归 递归函数 int 函数调用 学习 实参
递归函数是函数的一种应用方式所以我们应该先明确函数的定义。
函数就是一块代码,用来接收参数,执行一件事并返回。
1.函数的结构:
2. 函数的调用
一般为 函数名(实参表)
实参可以是常量、变量,还可以是表达式,但如果实参中存在变量,在函数调用时,变量应是有确定值的。
这些值会被按照顺序进行初始化中的参数。
3.递归函数
递归即是该函数调用它本身自己,这种调用过程称为递归。
递归可以相当于循环,所以想结束递归,就必须有终止递归的条件测试部分,否则就会出现无限递归(即无限循环),即一定要定义递归的边界。
用递归解决n阶乘的例子
#include <iostream>
using namespace std;
int POW(int x,int y);
int main()
{
int a,b;
cin>>a>>b;
cout<<a<<"的"<<b<<"次方=";
cout<<POW(a,b);
return 0;
}
int POW(int x,int y)
{
int i,z=1;
for(i=0;i<y;i++)
{
z=x*z;
}
return z;
}
可以看出,每级函数调用都有自己的变量,递归调用就相当于又从头开始执行函数的代码。
每次函数调用都会返回一次,并且按顺序逐级返回递归。
4.递归函数的优缺点
优点:
1.适合解决阶乘、涉及相反顺序的编程问题
2.相比同类题其他模式简洁
缺点:
1.运行效率低,无论是计算时间和耗费内存空间都比非递归要多
5.总结
递归函数遵规守纪,按照严格给出的规定运行,所以在递归运算时一定要注意对边界和开始的定义,正确的定义递归,是递归运算的难点。
标签:总结,函数,递归,递归函数,int,函数调用,学习,实参 来源: https://www.cnblogs.com/mjmjLCY4lms/p/15418372.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。