gpt4 book ai didi

c - 反转字符串时交换指针值时出现段错误

转载 作者:行者123 更新时间:2023-11-30 19:59:05 24 4
gpt4 key购买 nike

我正在尝试反转字符串。我使用两个指针,一个指向字符串的开头,另一个指向字符串的结尾。然后我交换指针的值。

int main()
{

char *string = "stack overflow";
int len = strlen(string);
char *end;
char tmp; //temporary variable to swap values

//pointer pointing at the end of the string
end = string+len-1;

printf(" value of start and end %c %c", *string , *end); //correct values printed
while(string<end)
{

tmp = *string;
*string = *end; //segmentation fault
*end = tmp;
*string++;
*end--;


}


return 0;

}

最佳答案

char *string = "stack overflow";

这将创建一个只读字符串文字。修改它是未定义的行为。使用数组代替:

char string[] = "stack overflow";

关于c - 反转字符串时交换指针值时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15374529/

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