在char数组中写入访问权限

Write access in char array

本文关键字:访问 访问权 权限 char 数组      更新时间:2023-10-16

大家好!

我正在写一个简单的字符串反转。当我将输入数组初始化为指针时,在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] = '';
}

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