欢迎光临散文网 会员登陆 & 注册

方法/函数7(方法的递归)

2023-01-27 13:16 作者:此城过客  | 我要投稿

递归,说的简单一些就是方法它自己调用自己。从作用上来说有点像是循环。

错误示范:

static void Tellstory()

{

       int i = 0;

       Console.WriteLine("从前有座山");

       Console.WriteLine("山里有座庙");

       Console.WriteLine("庙里有个老和尚和小和尚");

       Console.WriteLine("有一天,小和尚哭了,老和尚给小和尚讲了个故事");

       i++;

       if (i >= 10)

       { return; }

       Tellstory();   //因为每次调用这个方法,都是从i=0开始调用,因此每次都是0,就永远无                              //法满足>=10这个条件。

}

static void Main(string[] args)

{

         Tellstory();

          Console.ReadKey();

}

|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

这是一个死循环。这个案例错就错在,他的自增,没有写对位置。不该放在那个地方。

正确示范:

static void Tellstory()

{

       Console.WriteLine("从前有座山");

       Console.WriteLine("山里有座庙");

       Console.WriteLine("庙里有个老和尚和小和尚");

       Console.WriteLine("有一天,小和尚哭了,老和尚给小和尚讲了个故事");

       i++;

       if (i >= 10)

       { return; }

       Tellstory();   //因为每次调用这个方法,都是从i=0开始调用,因此每次都是0,就永远无                              //法满足>=10这个条件。

}

static int i = 0;//把i=0写在方法外面,这样每次重新使用方法,就不会每次都执行i=0

static void Main(string[] args)

{

         Tellstory();

          Console.ReadKey();

}



方法/函数7(方法的递归)的评论 (共 条)

分享到微博请遵守国家法律