Реализация должна вычислять число до n-й степени, используя рекурсию, однако, каждый вызов сам по себе сохраняет nb без изменений, в то время как мощность уменьшается.Я пытался использовать переменную-аккумулятор, но при каждом повторном вызове он по умолчанию инициализируется по умолчанию.Есть ли способ сохранить nb * nb в nb без добавления дополнительного параметра?или потерять базовое значение?
Когда я запускаю ft_recursive_power (3, 10);в визуализаторе переменного тока (ctutor) и передав ему эти аргументы, он показывает, что nb остается 3 на протяжении всего выполнения и возвращает 177147, в то время как он должен накапливать умножение и возвращать 59049. Или я что-то упустил?
int ft_recursive_power(int nb, int power)
{
// 0 to the 0th case
if (power == 0 && nb == 0)
return (1);
// recursive case
if (power > 0)
return (nb * ft_recursive_power(nb, power - 1));
return (nb);
}