字符串的替换
实现将字符串“today is Monday”替换变成“today is Friday”
或将字符串“today is Monday”替换成“toFriday Monday”
或将字符串“today is Monday”替换成“today is MondFriday”
在字符串即为一个字符数组,以下标0开始。
这里的替换是以替换字符串的长度为基准的
#include<stdio.h>
char *replace(char *s1,char *s2,int pos)
{
int i,j,sign=0;
i=0;
for(j=pos-1;s2[i]!='/0';j++)/*pos-1是因为字符串的下标从0开始,以s2控制循环是因为以s2为基准来替换s1中的字符*/
{
if(s1[j]=='/0')//标记,在替换过程中当s1出现结束符时进行标记
{
sign=1;
}
s1[j]=s2[i];
i++;
}
if(sign==1)//因为s1的结束符被替换,所以要再s1加上结束符
s1[j]='/0';
return s1;
}
void main()
{
char string1[100],string2[100];
int position;
printf("请输入字符串:/n");
gets(string1);
printf("/n请输入替换字符串:/n");
gets(string2);
printf("/n请输入要替换的位置:/n");
scanf("%d",&position);
replace(string1,string2,position);
printf("/n字符串的最终结果为:%s/n",string1);
}