递归中的return
函数中return直接终止函数体
一、一层一层返回
return:从被调用函数返回到主调函数中继续执行,并非一遇到return整个递归结束。
二、对于有返回值得函数递归调用必须要有return
这个代码我想很多人第一眼看到就很容易想到这个TestFun方法一定返回0,因为除数不能为0 所以一直报错 直到错误大于3 return了。
实际结果应该是1 原因很简单,catch里的return 是递归这个方法中的return。这个时候TestFun并没有全部退出,只是退出了递归的那一层而已。递归退出完了 也就是catch语句块执行完毕后,会继续执行return1

。

浙公网安备 33010602011771号