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;
}