Tengo un problema con este programa:
#include <stdio.h>
int elevar(int numero, int potencia);
int recursiva;
int comparar = 1;
int main()
{
int numero, potencia, resultado;
puts("Escriba un numero:");
scanf("%d", &numero);
puts("Escriba la potencia a la cual lo quiere elevar: ");
scanf("%d", &potencia);
resultado = elevar(numero, potencia);
printf("La potencia de %d elevado a %d es: %d\n", numero, potencia, resultado);
return 0;
}
int elevar(int numero, int potencia)
{
if (comparar == potencia)
{
return recursiva;
}
else if(potencia == 0 || potencia == 1)
{
return numero;
}
else if(comparar < potencia)
{
numero *= numero;
comparar ++;
recursiva = elevar(numero, potencia);
}
}
La idea es elevar la potencia a partir de una funcion recursiva. El problema esta en que cuando se lee la linea resultado = elevar(numero, potencia); el programa continua y no entra en la función para resolver el problema, por lo tanto la funcion regresa 0 y no entiendo porque.