样例一
请输入主串:abcdefj
请输入字串:cd
删除子串后的结果:abdefj
样例二
请输入主串:abcdefjcdhk
请输入字串:cd
删除子串后的结果:abdefjhk
#include<stdio.h>
#include<string.h>
void delete_substring(char *s1,char *s2)
{
char *index=NULL;//定义一个字符型指针
char temp[20]={0};//定义一个临时数组,储存字符串
int i,j;
index=strstr(s1,s2);
while (index!=NULL)
{
strcpy(temp,index+strlen(s2));//用一个临时数组将出现子串后的字符串储存起来
*index='\0';//将出现字串的第一个位置替换成\0
// strcat(s1,s3);
strcat(s1,temp);//将temp连接到s1(字串的前面)的后面
index=strstr(s1,s2);//主串中可能含有不只有一个字串;
}
puts(s1);
}
int main()
{
char s1[20]={0};
char s2[20]={0};
int i=0,j=0;
printf("请输入主串:");
scanf("%s",s1);
printf("请输入字串:");
scanf("%s",s2);
delete_substring(s1,s2);
return 0;
}
结果: