扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
蓝鸥iOS培训讲师推荐:在C的语言里有基础和高级之分,那么如果要想学好iOS开发就得先基础学起,从认识到函数也是一个学习过程。今天的内容函数的递归调用问题。
福山ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!函数的递归调用:在调用一个函数的过程中又出现直接或间接的调用该函数本身。举个例子:
直接调用本函数
下面图是间接调用本函数,在调用f1函数过程中要调用f2函数,然而在调用f2函数过程中还要调用f1函数。
从上面的图中可以看出,这两种递归调用都是没有终止的自身调用,很显然,程序中不应该出现这样的没有终止的递归调用,应该出现有限次数的有终止的递归调用,可以用if语句来控制,只有在某一条件成立时才会往下执行递归调用。
递归函数:包含递归调用的函数
举例说明:如有5人坐在一起,问第5个人年龄多大?说是比第4个人长2岁,第4个人的年龄是,比第3个人长2岁,问第3个人,又比第2个人长2岁,问第2个人,又比第1个人长2岁,那么第1个人18,问第5个人的年龄是?(每个人都比前1个人大2岁)如下:
那么5个人年龄过表如下,可以看出,当n>1时,求第n个人的年龄的公式是一样的,所以可用一个函数表示他们之间的关系。
其中的age函数用来实现上述递归过程,用C++来实现:
调用过程如图:
下面举个例子求n!事实上就是从1*2*3*...*n
那么有很多问题都可以用递归方法来解决,如上段程序中解决的n!,用程序写出来就很容易理解了,这样一来就很利于同学拉的理解与思路。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流