我有一个简单的程序,可以计算输入数字的阶乘。它说我没有错误,但是当我运行程序时它停止并且不起作用。有人可以告诉我为什么吗?
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();
}
}
}
}
}
答案 0 :(得分:4)
这总是让我们感到很简单的事情。
在你的循环中你有这个:
for (int i = 1; 1 <= userNumber; i++)
我相信你的意思是:
for (int i = 1; i <= userNumber; i++)
在循环的条件部分,您使用了'1'而不是'i'。
答案 1 :(得分:3)
您的for
循环的条件已关闭。我想你想要i <= userNumber
。
for (int i = 1; i <= userNumber; i++)