小编Fus*_*uss的帖子

Pow(x,y)函数的工作流程是什么?

我正在通过“ sololearn”和udemy课程尝试学习C#。我正在尝试挑战,但无法弄清楚下面的代码如何与32结合使用(因为32是此处的正确答案,我试图找出原因)。有人可以向我解释这个过程吗,我认为调用自身的方法正在抛出我。

static double Pow(double x, int y)
{
    if (y == 0)
    {
        return 1.0;
    }
    else
    {
        return x * Pow(x, y - 1);
    }
}

static void Main()
{
    Console.Write(Pow(2, 5));
} 
Run Code Online (Sandbox Code Playgroud)

请原谅我的编码错误。我正在尝试在移动设备上执行此操作,这很困难,答案是32。有人可以解释为什么吗?

编辑:这里的道歉是我的工作方式。将2和5传递给Pow,检查是否y == 0为假,现在它是有效的,y == 5因此x * pow(x, y-1)公式将处于活动状态。X仍然是2,y现在是4,这意味着它再次无法检查是否等于0,此循环一直进行到返回1.0,x一直保持在2 2 * 1.0 = 2而不是32?

c# recursion workflow pow

5
推荐指数
3
解决办法
183
查看次数

标签 统计

c# ×1

pow ×1

recursion ×1

workflow ×1