0
由于某些原因,我的else if
声明无效。当我使用输入“20”运行代码时,当我的else if
语句应该为此更正时,我会得到阶乘为“20”的表达式。为什么我的“else if”声明不起作用?
#include <iostream>
unsigned int factorial(unsigned int number);
int main()
{
unsigned int number;
std::cout << "Please enter a positive interger. ";
std::cin >> number;
std::cout << "facorial of " << number << " = " << factorial(number);
return 0;
}
unsigned int factorial(unsigned int number)
{
if (number > 1 && number < 20) {
return number * factorial(number - 1);
}
else if (number >= 20) {
std::cout << "error" << std::endl;
}
else
return 1;
}
我不明白你在问什么?其他如果达到20,应该返回“错误”。 –