执行中没有任何内容

时间:2017-06-09 08:59:50

标签: c#

嘿,当我执行这个小代码时,控制台没有显示任何内容 我是c#的初学者,但我的代码似乎是正确的:(

class Program
{
    static int Factorial(int n)
    {
        if (n==0)
        {
            return 1; //base case
        }
        else
        {
            return n * Factorial(n - 1); //recursive case
        }
    }

    static void Main(string[] args)
    {

        Factorial(5);
    }
}

2 个答案:

答案 0 :(得分:0)

问题是你不是要求你的程序写任何东西。该程序本身不应该写任何东西,除非你要求它这样做。要显示信息,您需要使用Console.WriteLine()或任何其他可以在标准输出流中写入信息的函数。

您似乎误解了return声明的目的。 return的目标只是告诉函数它应该返回到调用它的函数的值。然后,调用函数可以存储该值并将其视为其他目的,例如像您想要那样打印它。

static void Main(string[] args)
{
    int factorialValue = Factorial(5); // factorialValue contains
                                       // the returned value of Factorial(5)

    Console.WriteLine(factorialValue);
}

答案 1 :(得分:0)

因为您没有向控制台写任何内容,如果您想在控制台中显示某些内容,您必须写入控制台,您可以使用Console类的WriteLine()方法。哪个是重载方法,您可以检查可能的重载选项here with MSDN。因此,代码中的更改将如下所示:

static void Main(string[] args)
{
    int inputNum = 5; 
    Console.WriteLine("Factorial of {0} is {1}",inputNum,Factorial(inputNum));
}