Выполнение printf () и Ошибка сегментации

#include<stdio.h>

int main()
{
    char *name = "Vikram";
    printf("%s",name);
    name[1]='s';
    printf("%s",name);
    return 0;
}

На терминале не выводится выходной сигнал, а просто возникает ошибка сегментации. Но когда я запускаю его в GDB, я получаю следующее:

Program received signal SIGSEGV, Segmentation fault.
0x0000000000400525 in main () at seg2.c:7
7       name[1]='s';
(gdb) 

Это означает, что программа получает ошибку SEG на 7-й строке (очевидно, я не могу писать на массиве постоянных символов). Тогда почему printf () строки № 6 не выполняется?

Ответы на вопрос(4)

Ваш ответ на вопрос