#include<stdio.h>
#include<string.h>
int main()
{
char c1[1000],c2[1000],c3[1000]={'\0'}; //定义三个数组
int i,j,x,y=0;
gets(c1); //获得主数组
gets(c2); //获得想要删除的字符串
for(i=0;c1[i]!='\0';i++) //从一个元素开始,一个一个查找
{
x=0; //定义x的初始值为0
for(j=0;c2[j]!='\0';j++) //将待删除的数组一个一个的对照
{
if(c1[i]==c2[j]) //如果相等,那么x++;
x++;
}
if(x==0) //经历了循环之后x的值还是为0,那么没有在删除字符串找到相同的
{
c3[y]=c1[i]; //将这个字符赋值给第三个数组。
y++;
}
}
printf("%s\n",c3); //输出这个被删除后的字符串
return 0;
}
这个方法运用了三个数组,但是没有将字符串从后往前移动的麻烦