递归中的return

函数中return直接终止函数体

一、一层一层返回

return:从被调用函数返回到主调函数中继续执行,并非一遇到return整个递归结束。

二、对于有返回值得函数递归调用必须要有return

这个代码我想很多人第一眼看到就很容易想到这个TestFun方法一定返回0,因为除数不能为0 所以一直报错 直到错误大于3 return了。

实际结果应该是1 原因很简单,catch里的return 是递归这个方法中的return。这个时候TestFun并没有全部退出,只是退出了递归的那一层而已。递归退出完了 也就是catch语句块执行完毕后,会继续执行return1

 

 

 

posted @ 2019-10-11 16:15  星云惊蛰  阅读(4898)  评论(0)    收藏  举报