表达能力强的给我讲下递归啊 是在看不懂他怎么执行的?跳来跳去static string Test(int i){if (i == 10){return i.ToString();//①}else{Test(++i);return i.ToString();//②}}Console.WriteLine(Test(1)); 结果居然是2,1.为什么第①出 return不跳出?2.当满足条件后执行else的 ② 为什么他也不出去,++居然成了--了 ,还有他为什么减到2才执行完?条件在哪里
2 回答
慕容708150
TA贡献1831条经验 获得超4个赞
递归算法解决问题的特点:
(1) 递归就是在过程或函数里调用自身。
(2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。
(3) 递归算法解题通常显得很简洁,但递归算法解题的运行效率较低。所以一般不提倡用递归算法设计程序。
(4) 在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。所以一般不提倡用递归算法设计程序。
- 2 回答
- 0 关注
- 610 浏览
添加回答
举报
0/150
提交
取消