-1

余分なメモリを使用せずに文字列から文字を削除しようとしてきました。特定の入力文字列から文字 'a' を削除しようとしましたが、コードでセグメンテーション違反が発生します。

入力 - abca

Output-bc Debugger は、セグメンテーション エラーが行 "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);
}
4

2 に答える 2