标题:刚学很菜,求高手解答
只看楼主
留名
Rank: 1
等 级:新手上路
帖 子:1
专家分:7
注 册:2013-9-17
结帖率:0
已结贴  问题点数:20 回复次数:4 
刚学很菜,求高手解答
class Program
    {
        public void Count(int inVal)
        {
            if (inVal==0)
            return;
            Count(inVal-1);
            Console.WriteLine("{0}", inVal);
        }
        static void Main(string[] args)
        {
            Program pr = new Program();
            pr.Count(4);
        }
    }
为什么输出的是1 2 3 而不是3 2 1
搜索更多相关主题的帖子: return public 
2013-09-24 19:41
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
得分:7 
什麼叫遞歸妳知道不?這是递归调用的特点。

♂ 死后定当长眠,生前何须久睡。♀
2013-09-25 00:03
jiangzep88
Rank: 1
等 级:新手上路
帖 子:1
专家分:7
注 册:2013-9-25
得分:7 
递归调用,从最后的结果往回代
2013-09-25 09:34
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
得分:0 
想输出4,3,2,1的话,就将
Count(inVal-1);
Console.WriteLine("{0}", inVal);
这两句的位置调换一下。


♂ 死后定当长眠,生前何须久睡。♀
2013-09-25 09:46
讯草
Rank: 2
等 级:论坛游民
帖 子:26
专家分:55
注 册:2011-10-19
得分:7 
你试着话下递归函数调用的流程就懂了!
2013-09-26 14:55



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




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

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