#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-й строке (очевидно, я не могу писать в постоянном массиве char). Тогда почему printf() строки 6 не выполняется?