/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Problema para ejecutar.

 
      Índice del Foro elrincondelc.com -> Linux
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
pichu27



Registrado: 16 Sep 2011
Mensajes: 6

MensajePublicado: 16/09/2011 3:44 pm
Título: Problema para ejecutar.

Hola que tal, me presento, mi nombre es Agustin, y soy de Buenos Aires, Argentina. Hago este tema porque necesito hacer un trabajo practico para la facultad, y necesito que me ayuden especialistas como ustedes!! jeje.
Bueno mi consulta es esta, yo tengo el Ubuntu 11.04 y mi compilador es el Eclipe Galileo.
Cuando hago este programa:
int main(int argc, char **argv)
{
int valorinicial;
printf("introduce un numero: ");
scanf("%i", valorinicial);
if (valorinicial == 13)
{
printf("el valor que ingresaste es 13\n");
}
else
{
printf("el numero que escribiste no es 13 salame\n");
}
}

En la consola me aparece para que introduzca un numero, pero una vez que lo tecleo no me cumple con lo que quiero. Por otro lado, cuando entro a la consola y lo ejecuto como corresponde . Me dice:
Introduzca un numero .. lo pongo
y me devuelve "Violacion de segmento"
pd: el programa me compila y corre lo mas bien, pero cuando lo ejecuto me dice eso. Que hago para que me ande??

Saludos y muchas gracias
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 7516
Ubicación: Mexico

MensajePublicado: 16/09/2011 6:29 pm
Título:

El error, bastante común en los principiantes, es olvidar utilizar el operador "dirección de" (el '&') en la llamada a scanf, ademas falta incluir el encabezado <stdio.h> y no es necesario declarar la función principal de esa forma ya que no utilizas argumentos pasados mediante la linea de comandos.

El programa corregido es:
Código:
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
   int valorinicial;
   
   printf("introduce un numero: ");
   fflush(stdout);
   scanf("%i", &valorinicial);
   
   if (valorinicial == 13)
      puts("El valor que ingresaste es 13");
   else
      puts("El numero que escribiste no es 13 salame");
   
   return EXIT_SUCCESS;
}


Un saludo
_________________
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Volver arriba
      Índice del Foro elrincondelc.com -> Linux
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com