小编qwe*_*wer的帖子

在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);

}
Run Code Online (Sandbox Code Playgroud)

c string undefined-behavior

10
推荐指数
3
解决办法
849
查看次数

标签 统计

c ×1

string ×1

undefined-behavior ×1