Test Foro de elhacker.net SMF 2.1

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

-------------------------------------------------------------------------

// Adivina el numero entre 0 y 10

#include <stdio.h>

int main(){

int nmr,eli;

nmr = 5;

printf("Elija un numero del 1 al 10 :");
scanf("%i",eli);

if(eli == nmr){

printf("Adivino! el numero es: %i \n",nmr);

}
else if(eli < nmr){

printf("Muy Bajo! intente de nuevo \n");

}
else if(eli > nmr) {
printf("Muy Alto! Intente de nuevo \n");
}

system("pause");
return 0;
}

-------------------------------------------------------------------------


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
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
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
Cita de: engel lex en 21 Abril 2018, 20:50 PM
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
scanf("%i",&eli);


Muchisimas gracias!!!