Porque esto no anda?

Iniciado por r_mocca, 22 Abril 2013, 16:58 PM

0 Miembros y 1 Visitante están viendo este tema.

r_mocca

#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?

leosansan

Pues a mí me da:

Código (cpp) [Seleccionar]
Hola

Saluditos! ....

OmarHack

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".
I like to test things.

MeCraniDOS

#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?
"La física es el sistema operativo del Universo"
     -- Steven R Garman