关于递归返回值的问题

xuguv 2013-01-21 02:05:19
有关递归方法,会返回值(float)。
我现在调用这个方法,他会在里面不断地递归,直到满足条件才回头(废话,这个本来就是递归的本意,呵呵)
现在我想得到每一步递归的值,或者这些递归返回值的累加,该怎么写程序?
...全文
475 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
注意:不可以写全局变量

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧