求好心人帮忙改下,该如何处理

求好心人帮忙改下将str输出est,怎么填move_ptr()#include stdio.hvoid move_ptr(char *str1){while (*

求好心人帮忙改下
将str输出"est",怎么填move_ptr()


#include "stdio.h"

void move_ptr(char *str1)
{
while (*(str1+1)!='\0')
{
*str1=*(str1+1);
str1++;
}
*str1='\0';


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

[解决办法]
貌似你的函数没问题,是调用的时候错误了

char *str="test";
这样str指向的是一个只读区域,不能被修改,估计非法操作了

改一下试试
char str[8]="test";
[解决办法]
#include <stdio.h>
void move_ptr(char **p)
{
(*p)++;
}
int main()
{
char *str = "test";
move_ptr(&str);
printf("%s\n",str);
return 0;
}