Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: r_mocca en 22 Abril 2013, 16:58 PM

Título: Porque esto no anda?
Publicado por: r_mocca en 22 Abril 2013, 16:58 PM
#include <stdio.h>
#include <string.h>

int main(void)
{
   char destino[20];
   char origen[] = "Hola";
   strcpy(destino, origen);
   printf("%s", destino);
   return 0;
}

Me da segmantation fault. Por que?
Título: Re: Porque esto no anda?
Publicado por: leosansan en 22 Abril 2013, 17:13 PM
Pues a mí me da:

Código (cpp) [Seleccionar]
Hola

Saluditos! .... (http://st.forocoches.com/foro/images/smilies/aaaaa.gif)
Título: Re: Porque esto no anda?
Publicado por: OmarHack en 22 Abril 2013, 18:20 PM
Tienes algún tipo de problema con la memoria. Prueba a usar otro compilador y si te da el mismo problema ya sabes de que es. El error se debe a que el compilador intenta usar un espacio en la memoria que no le corresponde, puede ser de una mala configuración del compilador. No sé mucho del error, solo que suele darse cuando usas un puntero y le asignas una dirección a memoria fuera de la que el compilador tiene "jurisdicción".
Título: Re: Porque esto no anda?
Publicado por: MeCraniDOS en 22 Abril 2013, 19:55 PM
#include <stdio.h>
#include <string.h>

int main(void)
{
   char destino[20];
   char origen[] = "Hola";
   strcpy(destino, origen);
   printf("%s", destino);
   return 0;
}


Este código en sí esta bien, que compilador usas?