¿Por qué este programa no da el resultado esperado? [duplicar]

Posible duplicado:
¿Por qué aparece un error de segmentación al escribir en una cadena?

int main()
{
    char *c = "abc";
    *c = 'd';
    printf("%s",c);
    return 0;
}

Cuando intenté ejecutar este programa en C, el programa se bloquea ... ¿Quiero saber cuál es el error aquí?