我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

函数递归怎么算呀,为什么我算出来的是五,求解析

#include <stdio.h>
int fun(int x)
{ 
    return (x<3?1:fun(x-1)+fun(x-2)); 
}
void main()
{ 
    printf("%d\n",fun(4)+fun(5)); 
}

 

 

fun(4)  :   4 < 3 假 执行 f(x-1)+fun(x-2)   f(3) + f(2)  其中 f(3) 假执行 f(2) + f(1), 返回2,  f(2) 返回 1,   f(3) + f(2) 返回 3

fun(5)  :   5 < 5 假 执行 f(x-1)+fun(x-2)   f(4) + f(3)  其中 f(4) 为 3 ,  f(3) 为2   , f(5)的值为5

最终输出fun(4) + fun(5) 的值为 8

近期文章

  • Ext.JSON.encode方法
  • 在tomcat7上运行
  • sql中不创建模式就可以建表?
  • linux部署的程序登录问题
  • 这句话的意义 为什么要用这句话
  • web开发题(有偿)
  • xml命令解析及102203160089536是什么格式的
  • 怎么用运算符重载进行二维复数矩阵运算
  • 知道机器码和注册密码,怎么知道函数?
  • 获取文件路径怎么出现这么多百分号
  • ssh 电子商城 添加商品问题
  • bugly uuid 未知是怎么回事?
  • sunlime text 怎么设置中文?
  • 刚学习路由与交换技术,麻烦问一下这检查出来的结果是什么意思
  • 图书馆选座后台代码怎么写
  • 点击button后没有任何动作?
  • C语言编写程序题 大题
  • 我想问一下,我有一个springboot的项目,在本地运行远程连接服务器上的redis没问题,但是我
  • geoserver图层预览不了,是不是环境设置的问题,请问怎么解决
  • 利用MATLAB软件进行系统稳定性分析

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华