gpt4 book ai didi

c++ - 字符数组中的写访问

转载 作者:行者123 更新时间:2023-11-27 23:14:20 24 4
gpt4 key购买 nike

大家好!

我正在编写一个简单的 char* 字符串反转。当我将输入数组初始化为指针时,我在行 src[k] = src[n - k]; 中写入访问时出错:char * input= "string"。它是固定的,当我输入:char input[] = "string";

为什么它不适用于指针?非常感谢!

这是我的代码:

void reverse(char* src) {
if (src == NULL) {
return;
}
size_t n = strlen(src) - 1;
char swap;
for (int k = 0; k <= n/2; k++) {
swap = src[k];
src[k] = src[n - k];
src[n - k] = swap;
}
src[n + 1] = '\0';
}

最佳答案

它不适用于指针,因为指针指向文字 "string"。字符串文字是不可修改的。当您使用数组时,文字会被复制到数组中,该数组是可修改的。

关于c++ - 字符数组中的写访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17631621/

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