为什么休息在这里不起作用?

时间:2017-01-06 06:00:07

标签: c# function break

我写了一个程序并且遇到了一个小问题。

此处,用户插入编号n和编号k

static void Main(string[] args)
        {
            Console.Write("n = ");
            int n = int.Parse(Console.ReadLine());
            Console.Write("k = ");
            int k = int.Parse(Console.ReadLine());

然后我提出要求。有一个主要问题,休息不起作用。

if (k > n || k == 0 || n == 0)
            {
                Console.WriteLine("Error");
                break;
            }

然后,我计算了阶乘

            int faktorijalN = 1;
            int faktorijalK = 1;
            for(int i = 1; i <= n; i++)
            {
                faktorijalN *= i;
            }
            for(int j = 1; j <= k; j++)
            {
                faktorijalK *= j;
            }
            double rez = faktorijalN / faktorijalK;

...我在控制台上写了结果

Console.WriteLine("n! / k! = {0}", rez);

3 个答案:

答案 0 :(得分:1)

<强>度Acc。到MSDN

break语句终止它出现的最近的循环或switch语句。控制权将传递给终止语句后面的语句(如果有)。 https://msdn.microsoft.com/en-us/library/adbctzc4.aspx

在您的情况下,您需要return退出该功能。

答案 1 :(得分:1)

请使用return而不是break。如果在switch语句中使用break语句,则break语句用于终止循环。

答案 2 :(得分:0)

您应该使用return代替break;因为没有用于中断的封闭循环,所以代码应该是这样的:

if (k > n || k == 0 || n == 0)
{
    Console.WriteLine("Error");
    return;
}

中断:用于退出封闭循环,其中返回会将您从封闭函数中抛出