Ich habe diese Codezeile viele Male verwendet (Update: wenn String ein Parameter für die Funktion war!), aber wenn ich versuche, es jetzt zu tun, erhalte ich einen Bus-Fehler (sowohl mit gcc und Clang). Ich reproduziere den einfachsten möglichen Code;
char *string = "this is a string";
char *p = string;
p++;
*p='x'; //this line will cause the Bus error
printf("string is %s\n",string);
Warum kann ich das zweite Zeichen der Zeichenkette nicht mit dem p-Zeiger ändern?