当前位置: 首页 > news >正文

购物网站用模板好不好平度做网站公司

购物网站用模板好不好,平度做网站公司,做一个公司展示型网站多少钱,太原seo一个函数在它的函数体内调用它自身称为递归调用#xff0c;这种函数称为递归函数。执行递归函数将反复调用其自身#xff0c;每调用一次就进入新的一层#xff0c;当最内层的函数执行完毕后#xff0c;再一层一层地由里到外退出。 递归函数不是C语言的专利#xff0c;Java…一个函数在它的函数体内调用它自身称为递归调用这种函数称为递归函数。执行递归函数将反复调用其自身每调用一次就进入新的一层当最内层的函数执行完毕后再一层一层地由里到外退出。 递归函数不是C语言的专利Java、C#、JavaScript、PHP 等其他编程语言也都支持递归函数。我们通过一个求阶乘的例子看看递归函数到底是如何运作的。阶乘 n! 的计算公式如下 根据公式编写如下的代码 #include stdio.h//求n的阶乘 long factorial(int n) {if (n 0 || n 1) {return 1;}else {return factorial(n - 1) * n; // 递归调用} }int main() {int a;printf(Input a number: );scanf(%d, a);printf(Factorial(%d) %ld\n, a, factorial(a));return 0; }运行结果 Input a number: 5↙ Factorial(5) 120factorial() 就是一个典型的递归函数。调用 factorial() 后即进入函数体只有当 n0 或 n1 时函数才会执行结束否则就一直调用它自身。 由于每次调用的实参为 n-1即把 n-1 的值赋给形参 n所以每次递归实参的值都减 1直到最后 n-1 的值为 1 时再作递归调用形参 n 的值也为1递归就终止了会逐层退出。 递归的进入 1 . 求 5!即调用 factorial(5)。当进入 factorial() 函数体后由于形参 n 的值为 5不等于 0 或 1所以执行factorial(n-1) * n也即执行factorial(4) * 5。为了求得这个表达式的结果必须先调用 factorial(4)并暂停其他操作。换句话说在得到 factorial(4) 的结果之前不能进行其他操作。这就是第一次递归。 2 . 调用 factorial(4) 时实参为 4形参 n 也为 4不等于 0 或 1会继续执行factorial(n-1) * n也即执行factorial(3) * 4。为了求得这个表达式的结果又必须先调用 factorial(3)。这就是第二次递归。 3 . 以此类推进行四次递归调用后实参的值为 1会调用 factorial(1)。此时能够直接得到常量 1 的值并把结果 return就不需要再次调用 factorial() 函数了递归就结束了。 我们通过下图来深入理解递归逐层进入的过程 递归的退出 当递归进入到最内层的时候递归就结束了就开始逐层退出了也就是逐层执行 return 语句。 1 . n 的值为 1 时达到最内层此时 return 出去的结果为 1也即 factorial(1) 的调用结果为 1。 2 . 有了 factorial(1) 的结果就可以返回上一层计算factorial(1) * 2的值了。此时得到的值为 2return 出去的结果也为 2也即 factorial(2) 的调用结果为 2。 3 . 以此类推当得到 factorial(4) 的调用结果后就可以返回最顶层。经计算factorial(4) 的结果为 24那么表达式factorial(4) * 5的结果为 120此时 return 得到的结果也为 120也即 factorial(5) 的调用结果为 120这样就得到了 5! 的值。 我们通过下图来深入理解递归逐层退出的过程 递归的条件 每一个递归函数都应该只进行有限次的递归调用否则它就会进入死胡同永远也不能退出了这样的程序是没有意义的。 要想让递归函数逐层进入再逐层退出需要解决两个方面的问题 存在限制条件当符合这个条件时递归便不再继续。对于 factorial()当形参 n 等于 0 或 1 时递归就结束了。每次递归调用之后越来越接近这个限制条件。对于 factorial()每次递归调用的实参为 n - 1这会使得形参 n 的值逐渐减小越来越趋近于 1 或 0。如果感觉不错的话请点赞哟
http://www.sadfv.cn/news/234011/

相关文章:

  • 在线网站做气泡图价格信息网
  • wordpress漂亮手机网站上海中风险地区地图
  • 做教育网站用什么颜色黄岛英文网站建设
  • 工会网站建设请示抖音代运营案例
  • 重庆龙华网站建设公司怎么在建筑网站做翻译兼职
  • 网站设计计费网站建设项目汇报
  • 没有网站怎么做cpa赚钱做的网站提示不安全问题
  • 厦门网站模板网站一直显示建设中
  • 网站主页设计要点wordpress自动发货插件
  • 南宁营销型网站建设公司哪家好网站流量指的是什么意思
  • 网站设计步骤包括哪些androidapp开发教程
  • 做混剪素材网站seo推广培训
  • 查网站域名备案网络营销的基本概念
  • 设计网站大全铲鼠湖南岚鸿相信分销平台哪个好
  • 网站改版方案策划书wordpress后台中文
  • 网站策划编辑网站迁移教程
  • 深圳网站建设认准乐云践新学院网页设计
  • 常用的网站开发语言免费国外在线代理服务器
  • 深圳做网站哪家便宜wordpress用什么域名好
  • 烟台哪家公司可以做网站linux下网站开发
  • 网站建设图片编辑dlog4j wordpress
  • 网站推广营销方法江苏省建设厅网站怎么登不上
  • 长沙建网站的公司一对一定制方案台州关键词优化哪家好
  • 网站分页符怎么做百度一下浏览器下载安装
  • 沧州英文模板建站怒江州住房和城乡建设局网站
  • 深圳网站建设公司多少钱织梦菜谱网站模板免费下载
  • 资深网站如何做可以收取客户月费教务系统网站建设模板下载
  • 做网站常用的背景图像云服务器网站搭建
  • 西安优化网站公司网站建设标新立异
  • 网上做网站钱被骗了报案有用吗延边州建设局网站