Ошибка сегментации при записи в строку [дубликат]
На этот вопрос уже есть ответ:
Почему я получаю ошибку сегментации при записи в строку, инициализированную «char * s», но не «char s []»? 17 ответовЯ пытаюсь написать обратную функцию на месте и почти точно следовал онлайн-коду, но при запуске следующей программы выдается ошибка шины. Я передаю неправильный вид аргумента для reverse ()?
void reverse(char *str) {
char * end = str;
char tmp;
if (str) {
while (*end) {
++end;
}
--end;
while (str < end) {
tmp = *str;
*str++ = *end;
*end-- = tmp;
}
}
}
int main() {
char *s = "sample";
reverse(s);
printf("%s\n");
return 1;
}