致力于我的.net基础认证.在练习测试中,有一个问题,一些示例代码要求输出.正确的答案是......循环3循环2循环1循环1
问题是我不明白为什么它重复最后一个"循环1".我把它放入VS2015并发现它实际上是正确的.注意,我不是要求修复代码,我要求解释为什么它重复最后一个值.我搜索过,但没有找到明确的答案.所以,这是代码.
namespace ConsoleApplication5
{
class Program
{
private static int WriteToConsole(int NumWrites)
{
int i = NumWrites;
while (i > 0)
{
Console.WriteLine("loop {0}", i);
i = WriteToConsole(i - 1);
}
return NumWrites - 1;
}
static void Main(string[] args)
{
WriteToConsole(3);
Console.ReadKey();
}
}
}
Run Code Online (Sandbox Code Playgroud)
请研究堆栈展开.
我会尽力给你一个想法.