求大神解释下,简单递归,对简单解释下,谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢
自己调用自己就是递归。
比如
1+2+...+100
传统的写法
int sum(int n)
{
int sum = 0;
for (int i = 100; i > 0; i--) sum+= i;
return sum;
}
递归写法
int sum(int n)
{
if (n == 1) return 1;
return n +sum(n - 1);
}
递归就是入栈,首先得有栈的思想,深度研究就要讲到内存,从汇编的角度,函数参数用r0.r1,表示,局部变量按顺序存放在栈空间,递归就是反复嵌套本函数,但实质上,无非就是栈的存取。c语言的思想核心就是内存,字节,学好c语言相当重要,基本功要扎实,为以后学习驱动打好基础。
用java简单的说,就是自己调自己的方法,看过死亡游轮没,就是一直在重复之前的一个过程,在某个情况下就能结束的一种逻辑思维。
这也就是递归与死循环的区别,当然递归的极限就是死循环
递归是循环,更准确的说,是全自动循环。你告诉他一个结果,他自己跑,知道跑出结果为止,自己退出。所以递归的代码一般都比较简洁,但是不太容易懂。