| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 378 人关注过本帖
标题:求教这个调用函数的递归原理 求阶乘的
只看楼主 加入收藏
ProgrammerLy
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-9-24
结帖率:66.67%
收藏
已结贴  问题点数:8 回复次数:3 
求教这个调用函数的递归原理 求阶乘的
程序代码:
long rfact(int n){
    long ans;
    if (n > 0)
        ans = n*rfact(n - 1);
    else
        ans = 1;
    return ans;
}

这个函数如果执行到n=1 的时候不就是ans=n*rfact(0)了么。
rfact(0)执行else 直接令ans=1不但会一直循环下去,而且输出的ans永远是1啊。
搜索更多相关主题的帖子: 而且 
2015-09-29 10:38
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:4 
自我调用
2015-09-29 11:01
ProgrammerLy
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-9-24
收藏
得分:0 
回复 2楼 hjx1120
我觉这一旦执行到n=1之后ans就为0了呀。
2015-09-29 11:06
快速回复:求教这个调用函数的递归原理 求阶乘的
数据加载中...
 
   



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

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