-
最常规的模板:正向输出1~10
输出结果:
这种写法是最常规的写法,出口只被调用一次,而前十次都是一直在执行 f (n-1)。直到第十一次,调用了第十一次。在程序栈中加上主函数,存在十二个栈,执行到第十二个,直接出口返回 0 。之后就执行输出语句。
其实不难发现,递归也是一种循环,只不过for循环考虑初始条件,终止条件相较来说,较难考虑。 递归正好相反,它是一种逆向思维,不符合我们的思考习惯。 -
没有返回值正向输出1~10
输出结果:
解释这个递归把返回值去掉了,主要的特点是输出了0。是因为在判断0>0不成立的时候,只是终止调用函数了,但是输出语句还得执行,所以输出了0。 其实这个的判断最终的否定就是上个例子的出口。输出语句还是一样的,只是没有返回值了。 -
输出1~10
输出结果:
这个函数想要做的就是能不能我先做输出1,不想再做输出10了。这时候只用一个参数行不通,必须在函数中出现明确的10加以限制,那么这个函数就具有独特性了,这不是我们想要的。一般是加两个参数。 -
逆向输出1~10
很简单,把输出语句调到递归函数之前,让它在去的时候先把事情做了,而不是回来的时候再做事情。
用递归输出1~10
最新推荐文章于 2022-11-10 16:42:36 发布