c语言学习中递归的问题

前端小王hs 2021-02-01 11:10:59
为什么打印出两个level4后会打印level3,2,1,为什么第4级调用结束后控制会传回第3级调用…?c primer plus 257页
...全文
192 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
源代码大师 2021-05-06
  • 打赏
  • 举报
回复
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10768339.html
终极五十号 2021-02-03
  • 打赏
  • 举报
回复
啊来晚了
  • 打赏
  • 举报
回复
关于递归的例子,可以看看这个案例,点击这里
#include<stdio.h>
int  fact(int n,int a,int b)
{
    if(n==1 || n==2)
     return 1;
     else
      return (a*fact(n-1,a,b)+b*fact(n-2,a,b))%7;
}
int main()
{
    int a,b,n;
    scanf("%d%d%d",&a,&b,&n);
    printf("%d\n",fact(n,a,b));
  return 0;
}
前端小王hs 2021-02-03
  • 打赏
  • 举报
回复
兄弟们我会了,谢谢大家
赵4老师 2021-02-02
  • 打赏
  • 举报
回复
“给定一个小点的输入,完整单步跟踪(同时按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史)一遍。”是理解递归函数工作原理的不二法门! 递归函数关注以下几个因素 ·退出条件 ·参数有哪些 ·返回值是什么 ·局部变量有哪些 ·全局变量有哪些 ·何时输出 ·会不会导致堆栈溢出
自信男孩 2021-02-02
  • 打赏
  • 举报
回复
第一个level4是#1打的。第二个level4是#2打印的。后面的3 2 1都是#2打印的
前端小王hs 2021-02-01
  • 打赏
  • 举报
回复
想明白了谢谢大家

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧