SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: badyalberto en Miércoles 24 de Diciembre de 2008, 16:28

Título: Resultado negativo
Publicado por: badyalberto en Miércoles 24 de Diciembre de 2008, 16:28
Código: Text
  1.  
  2. #include<stdio.h>
  3.  
  4. int calcul(int num1, int num2);
  5.  
  6. int main()
  7. {
  8.     int num1,num2,resol;
  9.    
  10.     printf("Programa que eleva el primer numero al segon y retorna el resultat. n");
  11.     printf("n");
  12.     printf("n");
  13.     printf("Introdueix el primero numero: n");
  14.     scanf("%d", &num1);
  15.     printf("Introdueix el segon numero: n");
  16.     scanf("%d", &num2);
  17.     resol=calcul(num1,num2);
  18.     printf("El calcul dona como a resultat: %d n", resol);
  19.     getchar();
  20.     getchar();
  21. }
  22. int calcul(int num1, int num2)
  23. {
  24.     int resol,i;
  25.    
  26.     for(i=1; i<=num2; i++)
  27.     {
  28.              resol=resol*num1;
  29.     }
  30.     return resol;
  31. }
  32.  
  33.  
  34.  

Alguien sabe pq me da resultado negativo si pongo dos numeros positivos.
Título: Re: Resultado negativo
Publicado por: Malik en Miércoles 24 de Diciembre de 2008, 16:59
Da negativo porque no inicializas resol a 1. fijate que estás con variables locales, y estas no son inicializadas, conteniendo valores "basura"

Saludos
Título: Re: Resultado negativo
Publicado por: badyalberto en Miércoles 24 de Diciembre de 2008, 17:02
Ah pues si era eso, muchas gracias ^^