gpt4 book ai didi

memory-management - 如何解决访问冲突写入位置错误?

转载 作者:行者123 更新时间:2023-12-04 00:04:58 26 4
gpt4 key购买 nike

我有一个简单的程序,但在 *(str + start) 遇到访问冲突.为什么?我应该可以改变它。对吗?

void fn()
{
char *str = "Hello wordl!";
int end = strlen(str);
int start = 0;
end--;
while(start < end)
{
*(str + start) = *(str + end); <--- Access violation writing location *(str + Start).
end--;
start++;
}
}

最佳答案

char *str = "Hello World";是一个常量字符串,不能修改。编译器可以随意将其放入不可写的位置,从而导致您看到的崩溃。

将声明替换为 char str[] = "Hello World";应该做你想做的,把字符串放入堆栈上的可修改数组中。

关于memory-management - 如何解决访问冲突写入位置错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/652153/

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