Im пытается написать рекурсивную функцию, которая возвращает факториал числа. Если число равно 0 или отрицательное, то оно должно возвращать 0. Однако каждый раз, когда я проверяю его, он всегда возвращает 0, может ли кто-нибудь пролить свет на это, пожалуйста?Рекурсивная функция - возвращает 0?
int factorial(int integer)
{
if(integer <= 0)
{
return 0;
}
else
return integer* (factorial(integer-1));
}
Спасибо за все ваши ответы, но мне сказали, что если 0 или отрицательное число введено, метод должен вернуть 0.Is нет способа его реализации? – matt
Конечно, просто добавьте еще один «if»: если параметр равен 1, верните 1. – theglauber