Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: M4RQUS en 21 Abril 2018, 20:28 pm



Título: Problema al ejecutar un codigo Estructura de control IF [C]
Publicado por: M4RQUS en 21 Abril 2018, 20:28 pm
Buen dia gente, hoy empece a programar en C y me ocurrio algo curioso. Cuando intento ejecutar estas lineas de codigo

-------------------------------------------------------------------------
Código
  1. // Adivina el numero entre 0 y 10
  2.  
  3. #include <stdio.h>
  4.  
  5. int main(){
  6.  
  7. int nmr,eli;
  8.  
  9. nmr = 5;
  10.  
  11. printf("Elija un numero del 1 al 10 :");
  12. scanf("%i",eli);
  13.  
  14. if(eli == nmr){
  15.  
  16. printf("Adivino! el numero es: %i \n",nmr);
  17.  
  18. }
  19. else if(eli < nmr){
  20.  
  21. printf("Muy Bajo! intente de nuevo \n");
  22.  
  23. }
  24. else if(eli > nmr) {
  25. printf("Muy Alto! Intente de nuevo \n");
  26. }
  27.  
  28. system("pause");
  29. return 0;
  30. }
  31.  
-------------------------------------------------------------------------


por alguna extraña razon me aparece esto:

adivina el numero.exe has stopped working
A problem caused the program to stop working correctly. Windows will close the program and notify you if a solution is available.

el ide que estoy usando es DEV C++

Alguna idea??


Título: Re: Problema al ejecutar un codigo Estructura de control IF [C]
Publicado por: engel lex en 21 Abril 2018, 20:50 pm
Código
  1. scanf("%i",eli);

a scanf debes pasar la variable por referencia si no, el intentará leer la basura de la ram contenida en esa variable y entonces colocar el contenido que escribiste en esa posición de memoria indicada... lo que usualmente lleva a un error falta por intentar escribir una sección de memoria protegida


debes usar
Código
  1. scanf("%i",&eli);


Título: Re: Problema al ejecutar un codigo Estructura de control IF [C]
Publicado por: M4RQUS en 22 Abril 2018, 00:23 am
Código
  1. scanf("%i",eli);

a scanf debes pasar la variable por referencia si no, el intentará leer la basura de la ram contenida en esa variable y entonces colocar el contenido que escribiste en esa posición de memoria indicada... lo que usualmente lleva a un error falta por intentar escribir una sección de memoria protegida


debes usar
Código
  1. scanf("%i",&eli);


Muchisimas gracias!!!