读书人

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

发布时间: 2012-06-07 15:05:14 作者: rapoo

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

读书人网 >C语言

热点推荐