Сторнирование строки в C

Я знаю, что об этом спрашивали тысячи раз, но я просто не могу найти ошибку в своем коде. Может ли кто-нибудь любезно указать, что я делаю неправильно?

#include <stdlib.h>
#include <string.h>

void reverseString(char *myString){
  char temp;
  int len = strlen(myString);

  char *left = myString;
  //  char *right = &myString[len-1];                                                                                        
  char *right = myString + strlen(myString) - 1;

  while(left < right){
    temp = *left;
    *left = *right; // this line seems to be causing a segfault                                                              
    *right = temp;
    left++;
    right--;
  }
}

int main(void){
  char *somestring = "hello";
  printf("%s\n", somestring);
  reverseString(somestring);

  printf("%s", somestring);

}

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

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