sólo para las pruebas que había creado el siguiente código:fallo de segmentación en el programa c
#include<stdio.h>
int main(){
char *p = "Hello world";
*(p+1) = 'l';
printf("%s", p);
return 0;
}
Pero cuando me encontré con este por encima de mi "gcc" compilador bajo Ubuntu 10.04 que tengo:
Segmentation fault
Así ¿Alguien puede explicar esto por qué sucedió esto?
#include<stdio.h>
#include<stdlib.h>
int main(){
char *p = malloc(sizeof(char)*100);
p = "Hello world";
*(p+1) = 'l';
printf("%s", p);
free(p);
return 0;
}
esto también causar un fallo de segmentación Gracias de antemano
posible duplicado de [¿Por qué código C sencilla ¿recibe una falla de segmentación?] (http://stackoverflow.com/questions/164194/why-does-simple-c-code-receive-segmentation-fault) – Joe
... y alrededor de 2 docenas de otras preguntas de SO en los últimos años . – Joe