sando a recursão para elevar uma base ao seu expoente - C ++
Quero simplesmente escrever um código que faça uso da recursão de funções para elevar a base ao seu poder. Eu sei que a recursão não é a maneira mais correta de fazer as coisas em C ++, mas eu só quero explorar um pouco o conceito. O programa solicita ao usuário uma base e um expoente e, em seguida, consola a resposta. Aqui está o programa que escrevi:
#include <iostream>
#include <math.h>
using namespace std;
int raisingTo(int, int);
int main()
{
int base, exponent;
cout << "Enter base value: ";
cin >> base;
cout << "Enter exponent value: ";
cin >> exponent;
int answer = raisingTo(base, exponent);
cout << "The answer is: " << answer << endl;
char response;
cin >> response;
return 0;
}
int raisingTo(int base, int exponent)
{
if (exponent > 0)
return 1;
else if (exponent = 0)
{
int answer = (int) pow((double)base, raisingTo(base, (exponent - 1)));
return answer;
}
}
O engraçado é que, quando executo esse programa, ele sempre retorna a resposta como '1'! Alguém pode me ajudar com isso