当前位置:编程学习 > C#/ASP.NET >>

初学C#,请教递归问题。

    class Program
    {
        static int i = 1;
        
        static void TestFunction()
        {
            Console.WriteLine("TestFunction函数输出测试:{0}", i);
            i++;

            if (i > 1000)
            {
                return;
            }

            TestFunction();
        }

        static void Main(string[] args)
        {
            TestFunction();
        }
    }

上面这个是不是就叫递归呢?
递归在应用程序开发中很常用?但如果从语言设计角度上解析怎么说呢?

另外,在执行return和再次调用函数本身时的位置关系。也就是说,为什么if要放在前面? --------------------编程问答-------------------- 是递归没错。if放在前面是正确的 如果没有if语句成了死循环了。如果放在后面会多执行一次Console.WriteLine("TestFunction函数输出测试:{0}", i); 递归应该说比较常用。比如用在根遍历。树。
--------------------编程问答-------------------- LS说得很对,帮顶一下 --------------------编程问答-------------------- 只要在方法中调用本方法,且有条件跳出该循环就可称为递归,否则就是死循环,会溢出  --------------------编程问答-------------------- ??这也是递归? --------------------编程问答--------------------
你应该抓住适用递归问题的特征



--------------------编程问答-------------------- 前几天刚搞明白递归算法,再有一些情况的时候,不用递归算法还真的挺难搞的。 --------------------编程问答-------------------- 我搞 --------------------编程问答-------------------- 这叫递归啊! --------------------编程问答-------------------- 图遍历的非递归算法,看的我晕呼呼的....... --------------------编程问答-------------------- 很久以前,有一座山,山上有座庙,庙里有一老一小两个和尚。一天,老和尚对小和尚说:“很久以前,有一座山,山上有座庙,庙里有一老一小两个和尚。一天,老和尚对小和尚说:'很久以前..........."
这就是递归的工作原理
--------------------编程问答-------------------- Xue Xi --------------------编程问答-------------------- 哦,这么回事啊,受教了。 --------------------编程问答-------------------- 这个是递归,但递归的实际使用情况不应该改是这样的(我的体会),这里直接可以使用循环。 --------------------编程问答-------------------- if用于跳出递归 --------------------编程问答-------------------- --------------------编程问答-------------------- 8错 这个是递归 
  递归还可以用到协议解析上 比如你收到一段协议数据集 你可以把第一个协议数据解析出来 然后递归解析第二个
  不过递归的复杂度高 建议一般不要用 --------------------编程问答-------------------- 那确实
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,