A-A+

下列程序能将字符串s1中的所有与字符串str1相同的子串替换成字符串sb2 并将替换后的新串

2022-08-12 19:00:08 问答库 阅读 197 次

问题详情

下列程序能将字符串s1中的所有与字符串str1相同的子串替换成字符串sb2,并将替换后的新串存于字符数组s2中。 include<stdio. h> void replace(s1,s2,str1,str2) char *s1,*s2,*str1,*str2; { char *t0,*t1,*t2,*x,*y; x=s1;y=s2; while(【 】) { for(t0=s1,t1=str1; ((*t1!=O&& 【 】;t0++,t1++); if(*t1!=) *s2++=【 】; else { for(t1=str2;*t1!=;) *s2++= 【 】; 【 】; } } *s2=; } main () { static char s1[]="abcdef ababcd abab.",s2125]; replace (s1, s2, "abc", "XYZ"); printf("%sn",s2); }


请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:*s1!="\0"或*s1*t0=*t1*s1++*t1++s1=t0或s1=s1+strlen(str1)
*s1!="\0"或*s1*t0=*t1*s1++*t1++s1=t0或s1=s1+strlen(str1)

考点:字符串,程序