求解一个Java什么是递归程序序?

他从100开始递减一直减到0的执行步骤我知道,可是当返回一个结果然后intsum=i的时候就等于1了?然后就是123,步循环执行每次sum增1,具体执行流程是怎么回事求大神解答!万分感... 他从100开始递减,一直减到0的执行步骤我知道可是当返回一个结果,然后int sum =i的时候就等于1了然后就是123,步循环执行,每次sum增1具体执行流程是怎么回事?求大神解答!万分感谢

    很简单执行到1的时候,i-1的值再调用自己直到,i-1<=0的时候你可以理解,一直反复调用自己但是箌了1这一步的时候 都停了。然后当i=0的时候,最后一次的return sum;返回了一个0于是,倒数第二次的sum=1+0;然后再到return sum;返回1;接着倒数第三次执行。此时i=2. sum=2+1;return sum=3;返回上一级倒数第4次sum=3,sum=3+3;等于6再到reutrn sum=6;返回上一级……;依次类推。

    就是最后return sum返回0的时候我就不懂了按你说的这个时候int sum =i;sum应该等於0,那i也是0if(i>0)这句话应该不成立,不成立的话怎么就进到if里面了里面并没有累加,他是怎么每次增1的

    你对这个回答的评价是?

}

我要回帖

更多关于 什么是递归程序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信