求好心人帮忙改下
将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;
}