例如:str1=“abcdabac”,str2=“ab”,str3=“xyz”,计算结果:str1=“xyzcdxyzac”。注意,替换过程中新产生的str2不可以被替换。
#include<stdio.h>
#include<string.h>
char *replace(char *str1,char *str2,char *str3)
{
int i=0;
char *p;
char temp[80];
puts("输入字符串1:");
gets(str1);
puts("输入字符串2:");
gets(str2);
puts("输入字符串3:");
gets(str3);
i=strlen(str2);
while(p=strstr(str1,str2))
{
*p='\0';
strcpy(temp,p+i);
strcat(str1,str3);
strcat(str1,temp);
}
return str1;
}
int main()
{
char str1[80];
char str2[80];
char str3[80];
printf("%s",replace(str1,str2,str3));
return 0;
}