首页 > 其他 > 详细

C递归分析

时间:2020-07-19 20:43:00      阅读:53      评论:0      收藏:0      [点我收藏+]
#include<stdio.h>
void up_and_down(int);//事先告知编译器该函数存在
int main(void)
{
    up_and_down(1);
    return 0;
}
void up_and_down(int n)
{
    printf("level:%d n的地址是:%p\n",n,&n);
    if(n<4)//1,2,3
    up_and_down(n+1);
    printf("level:%d n的地址是:%p\n",n,&n);
}

技术分享图片

从gdb的图中可以看出,eax大于0x3才结束递归,否则连续调用自己
技术分享图片
下图较好的揭示递归的过程,ret几次up_and_down,后会返回main函数
技术分享图片

C递归分析

原文:https://www.cnblogs.com/zuoanfengxi/p/13340610.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!