gpt4 book ai didi

c - 为什么这个字符串反转 C 代码会导致段错误?

转载 作者:太空狗 更新时间:2023-10-29 16:23:00 24 4
gpt4 key购买 nike

<分区>

我正在尝试编写代码来就地反转字符串(我只是想在 C 编程和指针操作方面做得更好),但我无法弄清楚为什么我会得到一个 segmentation fault。 :

#include <string.h>

void reverse(char *s);

int main() {
char* s = "teststring";
reverse(s);

return 0;
}

void reverse(char *s) {
int i, j;
char temp;

for (i=0,j = (strlen(s)-1); i < j; i++, j--) {
temp = *(s+i); //line 1
*(s+i) = *(s+j); //line 2
*(s+j) = temp; //line 3
}
}

导致段错误的是第 2 行和第 3 行。我知道可能有更好的方法来执行此操作,但我有兴趣找出在我的代码中具体是什么导致了段错误。

更新:我已经按照要求包含了调用函数。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com