重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

iOS基础篇——函数的递归调用(C++)-创新互联

蓝鸥iOS培训讲师推荐:在C的语言里有基础和高级之分,那么如果要想学好iOS开发就得先基础学起,从认识到函数也是一个学习过程。今天的内容函数的递归调用问题。

福山ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

函数的递归调用:在调用一个函数的过程中又出现直接或间接的调用该函数本身。举个例子:

iOS基础篇——函数的递归调用(C++)

iOS基础篇——函数的递归调用(C++)

直接调用本函数

下面图是间接调用本函数,在调用f1函数过程中要调用f2函数,然而在调用f2函数过程中还要调用f1函数。

iOS基础篇——函数的递归调用(C++)

从上面的图中可以看出,这两种递归调用都是没有终止的自身调用,很显然,程序中不应该出现这样的没有终止的递归调用,应该出现有限次数的有终止的递归调用,可以用if语句来控制,只有在某一条件成立时才会往下执行递归调用。

递归函数:包含递归调用的函数

举例说明:如有5人坐在一起,问第5个人年龄多大?说是比第4个人长2岁,第4个人的年龄是,比第3个人长2岁,问第3个人,又比第2个人长2岁,问第2个人,又比第1个人长2岁,那么第1个人18,问第5个人的年龄是?(每个人都比前1个人大2岁)如下:

iOS基础篇——函数的递归调用(C++)

那么5个人年龄过表如下,可以看出,当n>1时,求第n个人的年龄的公式是一样的,所以可用一个函数表示他们之间的关系。

iOS基础篇——函数的递归调用(C++)

其中的age函数用来实现上述递归过程,用C++来实现:

iOS基础篇——函数的递归调用(C++)

调用过程如图:

iOS基础篇——函数的递归调用(C++)

下面举个例子求n!事实上就是从1*2*3*...*n

iOS基础篇——函数的递归调用(C++)iOS基础篇——函数的递归调用(C++)

那么有很多问题都可以用递归方法来解决,如上段程序中解决的n!,用程序写出来就很容易理解了,这样一来就很利于同学拉的理解与思路。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:iOS基础篇——函数的递归调用(C++)-创新互联
分享链接:http://cqcxhl.com/article/cchchp.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP