0

我有一个简单的程序,应该计算输入数字的阶乘。它说我没有错误,但是当我运行程序时它停止并且不起作用。有人可以告诉我为什么吗?

    private void getFactorial_Click(object sender, EventArgs e)
    {
        int userNumber, numberFactorial = 1;

        userNumber = int.Parse(numberInput.Text);
        if (userNumber <= 0)
        {
            numberOutput.Text = numberFactorial.ToString();
        }
        else
        {
            for (int i = 1; 1 <= userNumber; i++)
            {
                numberFactorial = numberFactorial * i;
                numberOutput.Text = numberFactorial.ToString();
            }
        }
    }
}

}

4

2 回答 2

4

吸引我们的总是简单的事情。

在你的循环中,你有这个:

for (int i = 1; 1 <= userNumber; i++)

我相信你的意思是:

for (int i = 1; i <= userNumber; i++)

在循环的条件部分中,您使用了“1”而不是“i”。

于 2013-10-07T00:19:09.980 回答
3

您的for循环条件已关闭。我想你想要i <= userNumber

for (int i = 1; i <= userNumber; i++)
于 2013-10-07T00:15:25.193 回答