| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1227 人关注过本帖
标题:简单的函数递归
只看楼主 加入收藏
a1024204390
Rank: 2
来 自:河南周口郸城
等 级:论坛游民
帖 子:87
专家分:67
注 册:2012-6-27
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:8 
简单的函数递归
程序代码:
#include<stdio.h>
void up_and_down(int n);

int main(void)
{
    up_and_down(1);
    system("pause");
    getchar();
    return 0;

}

void up_and_down(int n)
{
    printf("Leve1 %d; n location %p\n", n, &n);
    if (n < 4)
        up_and_down(n + 1);
    printf("LEVEL %d; n loction %p\n", n, &n);
}

这个递归搞不懂,当n>4时不应该结束嘛?为什么还有下面的输出LEVEL4 LEVEL3......
搜索更多相关主题的帖子: system 
2016-10-11 08:59
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:7 
if (n < 4)
         up_and_down(n + 1);
     printf("LEVEL %d; n loction %p\n", n, &n); 去掉这行

早知做人那么辛苦!  当初不应该下凡
2016-10-11 09:35
a1024204390
Rank: 2
来 自:河南周口郸城
等 级:论坛游民
帖 子:87
专家分:67
注 册:2012-6-27
收藏
得分:0 
回复 2楼 炎天
为什么要去掉啊?

永不言败!never say die!
2016-10-11 12:35
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
因为每次返回调用,都要继续执行调用处下面的语句。函数执行完毕才会继续返回。
2016-10-11 12:40
a1024204390
Rank: 2
来 自:河南周口郸城
等 级:论坛游民
帖 子:87
专家分:67
注 册:2012-6-27
收藏
得分:0 
回复 4楼 ehszt
不明白

永不言败!never say die!
2016-10-11 12:59
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
回复 5楼 a1024204390
最后一层函数(第n层)不再调用自身。然后它会继续执行调用处下面的语句,直至所有语句执行完毕,函数
结束,返回上一层调用(即第n-1层调用)。第n-1层函数在调用处得到第n层函数的返回值,该调用语句执行完毕继续执行下面的语句,
同理在该层函数所有语句执行完毕后返回第n-2层调用处继续执行,……如此反复,直到第1层函数执行完毕返回主函数。
2016-10-11 13:54
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:7 
递归,从哪里进去,执行完又会回到那个位置,并继续向下一行执行。
if (n < 4)//不管这个if条件是否成立,up-and-down(n+1)是否执行,那个printf("LEVEL ..."..)都是百分百要执行的。
        up_and_down(n + 1);
    printf("LEVEL %d; n loction %p\n", n, &n);




φ(゜▽゜*)♪
2016-10-11 15:11
a1024204390
Rank: 2
来 自:河南周口郸城
等 级:论坛游民
帖 子:87
专家分:67
注 册:2012-6-27
收藏
得分:0 
回复 7楼 书生牛犊
这样吗?

永不言败!never say die!
2016-10-11 19:15
a1024204390
Rank: 2
来 自:河南周口郸城
等 级:论坛游民
帖 子:87
专家分:67
注 册:2012-6-27
收藏
得分:0 
回复 7楼 书生牛犊
好的,谢谢!

永不言败!never say die!
2016-10-11 20:53
快速回复:简单的函数递归
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017124 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved