旋转字符数组时发生总线故障

时间:2019-12-25 04:41:16

标签: c bus-error

void rotate(char *arr) {
    char *iter = arr;
    char temp = *iter;
    while(*(iter + 1) != '\0') {
        *iter = *(iter + 1);
        iter = iter + 1;
    }
    *iter = temp;
}

执行此代码时,我得到的只是总线错误而不是旋转数组。我尝试用数组和索引替换指针,但结果仍然相同。我什至不知道出了什么问题。

致歉。但是,这是我完整的代码:

int main() {
    char *str = "Hello";
    rotate(str);
    printf("%s\n", str);
    return 0;
}

0 个答案:

没有答案