![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
1 /*原题: 2 3 编写函数fn(s,t),将字符串s中任何与字符串t中字符匹配的字符删除。*/ 4 5 6 #include <stdio.h> 7 main() 8 { 9 void sq(char s[],char t[]); 10 11 char s[]="dashbasbhdabsbde"; 12 char t[]="shb"; 13 14 sq(s,t); 15 printf("%s\n",s); 16 } 17 18 void sq(char s[],char t[]) 19 { 20 int i,j,n; 21 n=0; 22 for(i=0;s[i]!='\0';i++) 23 { 24 for(j=0;t[j]!='\0' && t[j]!=s[i];j++) 25 ; 26 if(t[j]=='\0') 27 s[n++]=s[i]; 28 } 29 s[n]='\0'; 30 }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
1 //(改)将字符串s中与字符串t完全相同的字段删除。 2 3 #include <stdio.h> 4 main() 5 { 6 void sq(char s[],char t[]); 7 8 char s[]="dashbasbhdabsbde"; 9 char t[]="shb"; 10 11 sq(s,t); 12 printf("%s\n",s); 13 } 14 15 void sq(char s[],char t[]) 16 { 17 int i,j,n,k; 18 n=0; 19 for(i=0;s[i]!='\0';i++) 20 { 21 for(j=0,k=i;t[j]!='\0'&&t[j]==s[k];j++,k++) 22 ; 23 if(t[j]=='\0') 24 { 25 n=i; 26 while(s[k]!='\0') 27 s[n++]=s[k++]; 28 s[n]='\0'; 29 } 30 } 31 }