递归:
在程序中不断调用自身函数,到达最末尾目标端的时候再进行第一次计算;
计算返回值掉回前一级参与第二次运算,如此重复回到最前端;
举例:1->2->3->4->5 由1处开始调用本身4次到达了5处,再在5处运行第一次运算获得的值返回4处参与4处的运算,如此重复返回1运算得到最终值
程序举例如下,计算1+2+3+4
int main()
{
int input=4;
int out =caculate(input);
return 0;
}
int caculate(int input)
{
if(!input) return input;
return i+caculate(input-1);
}
在这个计算过程中:
return 4+caculate(3);
return 4+3+caculate(2);
return 4+3+2+caculate(1);
return 4+3+2+1+caculate(0);
return 4+3+2+1+0;//此时满足了判定条件不再调用自身函数
从以上我们就可以看出,其实际计算过程就是不断调用自身,到达判定条件为止,之后再从最后一级获得的值一级一级往回参加上一级的计算,直到回到第一级在最后返回结束。