C语言小程序——字符串的比对与替换

#include<stdio.h>   //输入三个字符串,若s中含有t1,则用t2覆盖s中的t1,反之原样输出s;若t1与t2不等长则报错;
#include<string.h>

void fun (char*s,char*t1,char*t2,char*w)
{
	char *p,*q;
	strcpy(w,s);
	while(*w)
	{
		p=w;
		q=t1;
		while(*q)
		{
			if(*p==*q)
			{
				p++;
				q++;
			}
			else break;      /*此else语句相当重要,不可缺少。若缺少,程序无法正常执行*/
		}  
		if(*q=='\0')   //字符串匹配成功
		{
			p=w;
			q=t2;
			while(*q)
			{
				*p=*q;
				p++;
				q++;
			}
		}
		w++;
	}
}  
		

int main()
{
  char  s[100],t1[100],t2[100],w[100];
  printf("Please enter string s:"); scanf("%s", s);
  printf("Please enter substring t1:"); scanf("%s", t1);
  printf("Please enter substring t2:"); scanf("%s", t2);
  if(strlen(t1)==strlen(t2)) 
  {
	  fun( s, t1, t2, w);
      printf("The result is:%s\n", w);
  }
  else  
	  printf("Error:strlen(t1)!=strlen(t2)\n");
  return 0 ;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

beyond_LH

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值