Execução de printf () e falha de segmentação
#include<stdio.h>
int main()
{
char *name = "Vikram";
printf("%s",name);
name[1]='s';
printf("%s",name);
return 0;
}
Não há saída impressa no terminal e é só obter uma falha de segmentação. Mas quando o executo no GDB, recebo o seguinte -
Program received signal SIGSEGV, Segmentation fault.
0x0000000000400525 in main () at seg2.c:7
7 name[1]='s';
(gdb)
Isto significa que o programa recebe a falha SEG na 7ª linha (obviamente não posso escrever em um array de caracteres constante). Por que printf () da linha número 6 não é executado?