标题:为何没有输出结果?
只看楼主
明次
Rank: 5Rank: 5
来 自:China
等 级:职业侠客
帖 子:166
专家分:303
注 册:2009-1-11
结帖率:100%
已结贴  问题点数:20 回复次数:3 
为何没有输出结果?
程序代码:
#include <iostream>
using namespace std;

int w=3;
int fun(int);
void main()
{
    int w=10;
    cout<<fun(5)*w<<endl;
}
int fun(int k)
{
    return fun(k-1)*k;
}

为什么这段代码运行时没有输出结果?我听CSDN的人说是没有递归结束条件,那这个“递归结束条件”是什么一东西?<c++ primer plus>这书上有没有这方面相关的知识,有的话告诉我多少页。 谢..
搜索更多相关主题的帖子: 结果 输出 
2009-07-31 13:52
yewei861018
Rank: 2
等 级:论坛游民
帖 子:1
专家分:10
注 册:2009-7-31
得分:10 
是没有递归结束条件
要有个判断啊 if(k==0 || k==1)
                return 1;
2009-07-31 14:26
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
得分:10 
回复 楼主 明次
对,每次调用那个fun函数时都去调用fun(k-1)这个函数,什么时候停呢?也就是没有结束的条件。递归函数在写的时候一定要有一个基本情况,c++ primer plus 这书讲递归的时候肯定说了,你再去查查~
2009-08-01 18:39
明次
Rank: 5Rank: 5
来 自:China
等 级:职业侠客
帖 子:166
专家分:303
注 册:2009-1-11
得分:0 
明白了,谢谢大家。

、明次℡!           QQ:604622530
2009-08-01 20:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-281145-1-1.html




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

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