我一直在尝试在不使用额外内存并将其放置到位的情况下从字符串中删除字符。我刚刚尝试从给定的输入字符串中删除字符“a”,但我的代码给出了分段错误。
输入 - abca
Output-bc 调试器说分段错误在“str[j]=str[i]”行中。请帮帮我:)谢谢
这是代码
#include<stdio.h>
#include<string.h>
void removest(char *str)
{
int i,j=0;
int len=strlen(str);
for(i=0;i<len;i++)
{
if(str[i]=='a')
{
i=i+1;
}
str[j]=str[i];
j++;
}
str[j]='\0';
printf("%s \n",str);
}
int main()
{
char *str="abca";
removest(str);
}