hjx81024
喜欢韩韩
采纳率0%
2021-05-04 19:37

c语言字符串替换,s1里面的abc替换成XYZ 并放到s2里面

#include<stdio.h>
int fun(char *s1,char *s2,char *str1,char *str2)
{ 
char *t0,*t1,*t2,*x,*y;
x=s1,y=s2;
while(/*空*/ )
{
for(t0=s1,t1=str1;(*t1!='\0'&&/*空*/  );t0++,t1++)
if(/*空*/) *s2++=*s1++;
else
{
for(t1=str2;*t1!='\O';)
*s2++=/*空*/;
s1=t0;
}
}
/*空*/ 
}
int main(){
        
char s1[]="abedef ababcd abab.",s2[25];
fun(s1,s2,"abc","XYZ");
printf("%s\n",s2);
}

请问填空那几个怎么填呢,程序要求是:s1里面的abc替换成XYZ 并放到s2里面

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

6条回答

  • technologist_32 CSDN技术专家团-Time 9天前

    这个有点难度的,赖老师加油。

    点赞 1 评论 复制链接分享
  • software7503 CSDN技术专家团-赖老师(软件之家) 9天前

    修改了一下,效果是一样的。

    #include<stdio.h>
    #include<string.h>
    int fun(char *s1,char *s2,char *str1,char *str2)
    { 
    	char *t0,*t1,*t2,*x,*y;
    	int i,j;
    	int len = strlen(s1);
    	puts(s1);
    	for(i=0;i<len;i++){
    	
    		if(s1[i]==str1[0] && s1[i+1]==str1[1] && s1[i+2]==str1[2]){
    			s2[i++]=str2[0];
    			s2[i++]=str2[1];
    			s2[i]=str2[2];
    		}else{
    			s2[i]=s1[i];
    		}
    	
    	}
    	puts(s2);
    	
    }
    int main(){
            
    	char s1[]="abedef ababcd abab.\0",s2[25];
    	fun(s1,s2,"abc","XYZ");
    	//printf("%s\n",s2);
    }
    点赞 1 评论 复制链接分享
  • technologist_32 CSDN技术专家团-Time 9天前

    这道题可以跟着 c++源码做。

    char * __cdecl strcpy(char * dst, const char * src)
    {
            char * cp = dst;
    
            while( *cp++ = *src++ )
                    ;               /* Copy src over dst */
    
            return( dst );
    }

    其实就是将这段源码 用通俗的语言写出来。

    点赞 评论 复制链接分享
  • QA_Assistant 有问必答小助手 6天前

    非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

    速戳参与调研>>>https://t.csdnimg.cn/Kf0y

    点赞 评论 复制链接分享
  • it_xiangqiang it_xiangqiang 7天前

    也许对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10768339.html

    点赞 评论 复制链接分享
  • QA_Assistant 有问必答小助手 7天前

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 评论 复制链接分享

相关推荐