我正在尝试打印数字的幂。但是我收到执行时间超过错误。
using System;
public class Program
{
public static void Power(int B,int C)
{
if(B == 1)
return;
double temp = Math.Pow(B,C);
Console.WriteLine(temp);
Power(B--,C);
}
public static void Main()
{
Console.WriteLine("Hello World");
Power(4,2);
}
}
我收到此错误。
Run-time exception (line -1): Execution time limit was exceeded
请帮助我理解错误。
答案 0 :(得分:4)
更改此行:
Power(B--,C);
收件人
Power(--B,C);
或
B--;
Power(B,C);
这是因为B--
将B
而不是B-1
的值发送给方法,然后再减去1,这会导致无限循环,B保持不变。
答案 1 :(得分:0)
您有B--传递B的当前值,然后减去1。 而是写--B。