gpt4 book ai didi

复制指针字符未按预期工作

转载 作者:太空宇宙 更新时间:2023-11-04 07:26:19 25 4
gpt4 key购买 nike

在下面的代码中,我做错了什么?我在 eclipse 中运行代码并使用 MinGW C 编译器。当我运行它时,eclipse 停止响应。当我调试代码时,它在线上中断

*start = *end;

我在 Debug模式下验证了 *start 和 *end 的值,没有一个是空的。

void func1(char *str)
{
char *end, *start;
end = start = str;
char tmp;

if (str)
{
while (*end)
++end;
--end;

while (start < end)
{
tmp = *start;
*start = *end;
*end = tmp;

start++;
end--;
}
}
}

有什么建议/想法吗?

最佳答案

因此根据您的反馈,您正在将字符串文字 "Hello World" 传递给 func1,修改字符串文字是未定义的行为,您也可以使用类似这将起作用:

char arr1[] = "hello world" ;
func1(arr1) ;

虽然正如 Adam 和 Kerrek 指出的那样,您需要为代码添加更多错误检查,但这应该可以解决您眼前的问题。

关于复制指针字符未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18111779/

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