Mit Rekursion zu erhöhen, die Basis für seine exponent - C++

Möchte ich einfach nur code zu schreiben, macht Gebrauch von Rekursion von Funktionen, um eine Basis für seine macht. Ich weiß, dass die Rekursion ist nicht die richtige Weg, Dinge zu tun, in C++, aber ich will einfach nur, um zu erkunden das Konzept ein wenig. Das Programm fragt den Benutzer nach einer Basis und einem Exponenten und dann die Konsole outs die Antwort. Hier ist das Programm, das ich geschrieben habe:

#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;
    }
}

Das komische ist, wenn ich dieses Programm ausführen, es hält die Rücksendung der Antwort als '1'! Kann mir bitte jemand helfen dazu?

InformationsquelleAutor Ram Sidharth | 2012-02-19
Schreibe einen Kommentar