O código a seguir recebe a falha seg na linha 2: char *str = "string"; str[0] = 'z'; // could be also written as *str = 'z' printf("%s\n", str); Enquanto isso funciona perfeitamente bem: char str[] = "string"; str[0] = 'z'; printf("%s\n", str); Testado com MSVC e