为什么“K”不能高于5?输出从0,1,2,3,4开始,循环到5。
class Program
{
static void Main(string[] args)
{
int k = 0;
loop1(k);
}
static void loop1 (int k)
{
Console.WriteLine(k);
k++;
while (k <= 5)
{
loop1(k);
}
}
}
答案 0 :(得分:0)
递归的一个规则是中断条件。在您的代码中,由于您使用while
循环,因此没有。将其替换为if
,您的代码将不再循环直到无限。
另一个规则是更接近目标。由于您希望显示一个高于5的数字和停止后的,您需要在条件之后增加k
的值。
递归函数的修改版本:
static void loop1 (int k)
{
Console.WriteLine(k);
if (k <= 5)
{
loop1(++k);
}
}
预期结果如下:0 1 2 3 4 5 6