#include <stdio.h>
#include <string.h>
int main(){
char s1[81],s2[81],temp[81]={0},*k; //最长=80个字母+1个回车符;同时必须初始化数组
int len1,len2,len3;
gets(s1);
gets(s2);
k=strstr(s1,s2); //在s1字符串中找到s2字符串的第一个位置,返回的是指针
while(k){
len1=strlen(s1);
len2=strlen(s2); //len3长度为子串,每次循环不变,可放到循环外
len3=strlen(k);
strncat(temp,s1,len1-len3); //将定位的位置之前的字符串暂存到temp数组
strcat(temp,k+len2); //再将所定位后的字符串(除去子串)链接到temp中
strcpy(s1,temp); //再将temp复制到s1
memset(temp,0,sizeof(temp)); //清空,即将temp暂存的数据全部变成0;
k=strstr(s1,s2); //再次在s1中寻找s2字符串,若找到则继续循环,否则跳出;
}
printf("%s",s1); //打印字符串快捷方法
return 0;
}
其中memset()
函数应用查看: