关于递归返回值的问题

xuguv 2013-01-21 02:05:19
有关递归方法,会返回值(float)。
我现在调用这个方法,他会在里面不断地递归,直到满足条件才回头(废话,这个本来就是递归的本意,呵呵)
现在我想得到每一步递归的值,或者这些递归返回值的累加,该怎么写程序?
...全文
400 14 点赞 打赏 收藏 举报
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
winsl 2014-10-11
  • 打赏
  • 举报
回复
jflanmay 2013-01-21
按LZ的意思,用传值参数进去不是很完美?
  • 打赏
  • 举报
回复
zhengnan2012 2013-01-21
int fxx(int a ){ if(a=0) return 0; else return a+fxx(a-1) }
  • 打赏
  • 举报
回复
gxingmin 2013-01-21
对,跟9楼一样,就是这意思
  • 打赏
  • 举报
回复
gxingmin 2013-01-21
引用 4 楼 xuguv 的回复:
2l,这个是递归,我现在得到要递归返回的值。在不写全局变量的情况下
没用全局变量啊,List是局部变量,相当于栈空间 你总的把返回的k记录到某个地方吧,List就是记录k的
  • 打赏
  • 举报
回复
public main { List<float> list=new List<float>(); DiGuiFunc(若干参数,list); } //递归 public float DiGuiFunc(若干参数,List<float> list) { //根据参数判断是否跳出 if(……){return 0} DoSomeThing; float k=……//这里这个K就是我要得到的值 list.Add(k); DiGuiFunc(若干参数); return k; }
  • 打赏
  • 举报
回复
xuguv 2013-01-21
3L,请在解释一下。 比如我的程序是这样:

//主程序
public main
{
   DiGuiFunc(若干参数);
}
//递归
public float DiGuiFunc(若干参数)
{
  //根据参数判断是否跳出
  if(……){return 0}
  DoSomeThing;
  float k=……//这里这个K就是我要得到的值
  DiGuiFunc(若干参数);
  return k;
}
 
我现在想在主程序里得到每次递归所返回的那个K的累加值。又不能用全局变量,改怎么写?
  • 打赏
  • 举报
回复
bdmh 2013-01-21

        private int Fooo(int i)
        {
            if (i > 10) 
            {
                return 0;
            }
            i++;
            MessageBox.Show(Fooo(i).ToString()); 
            return i;
        }

调用
Fooo(1);
  • 打赏
  • 举报
回复
private static float digui(int num) { if (num <= 1) return 1; else return digui(num - 1) +num; }
  • 打赏
  • 举报
回复
bdmh 2013-01-21
每次递归前,将数值打印出不就好了
  • 打赏
  • 举报
回复
xuguv 2013-01-21
2l,这个是递归,我现在得到要递归返回的值。在不写全局变量的情况下
  • 打赏
  • 举报
回复
gxingmin 2013-01-21
加个List参数 public int fun(int a, List<int> lst) { if(条件) { int ret=...; lst.Add(ret); return ret; } return fun(a, lst); } 调用递归: List<int> lst=new List<int>(); int value=fun(10,lst); //此时可以查看lst里每次返回的值
  • 打赏
  • 举报
回复
XBodhi. 2013-01-21
float Func(float )
{
Func(float);
}
  • 打赏
  • 举报
回复
xuguv 2013-01-21
注意:不可以写全局变量
  • 打赏
  • 举报
回复
相关推荐
发帖
C#
加入

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2013-01-21 02:05
社区公告

让您成为最强悍的C#开发者