Ayuda para un principiante
Publicado por Roberto Fandiño (1 intervención) el 23/12/2005 21:07:35
Necesito ayuda, resulta que apenas estoy aprendiendo el lenguaje C y estando en eso me puse hacer un ejercicio que sale en el libro de "Deitel & Deitel", se trata de elaborar un programa recursivo que eleve un numero a un potencia. Hice el programa en Dev-C++ y aunque a primera vista el programa parece estar bien hecho, cuando se ejecuta y le digito los valores de la base y el exponente me sale una ventana de error de windows. Usando el depurador, me sale un aviso que dice que se produce un fallo de violación de acceso a memoria, pero no entiendo porque sucede esto. Apreciaria mucho que alguien me pueda ayudar, hay va el código del programa.
#include <stdio.h>
#include <stdlib.h>
int potencia(int base,int exponente);
int main(int argc, char *argv[])
{
int x; //base
int y; //potencia o exponente
printf("Dígite el numero y luego su potencia: ");
scanf("%d%d",x,y);
printf("\nEl resultado es: %d", potencia(x,y));
system("PAUSE");
return 0;
}
int potencia(int base,int exponente){
if(exponente == 1)
return base;
else
return base * potencia(base, exponente - 1);
}
#include <stdio.h>
#include <stdlib.h>
int potencia(int base,int exponente);
int main(int argc, char *argv[])
{
int x; //base
int y; //potencia o exponente
printf("Dígite el numero y luego su potencia: ");
scanf("%d%d",x,y);
printf("\nEl resultado es: %d", potencia(x,y));
system("PAUSE");
return 0;
}
int potencia(int base,int exponente){
if(exponente == 1)
return base;
else
return base * potencia(base, exponente - 1);
}
Valora esta pregunta


0