c语言中,删除数组中的指定字符

删除数组中的指定字符

string str="abcdefghijklmn";
char del='a';
for(int i=0;i<str.length();i++)
{
if(str[i]==del)
{
for(int j=i;j<str.length()-i;j++)
str[j]=str[j+1];
}
}

C++的核心实现部分,C语言大同小异
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-06
楼主你好

具体代码如下:

#include<stdio.h>
#include<string.h>
#define MAX 80
int main()
{
char a[MAX],b[MAX],c;
int i,j;
printf("Enter a string:");
gets(b);
printf("Enter a char:");
fflush(stdin);
c=getchar();
for(i=0,j=0;i<strlen(b);i++)
if(b[i]!=c)
{
a[j]=b[i];
j++;
}
a[j]='\0';
printf("After deleted %c:\n",c);
puts(a);
return 0;
}

希望能帮助你哈
第2个回答  2012-12-06
用之后的来覆盖前面的 a[i] = a[i+1]
第3个回答  2021-05-04