#include <stdio.h> int del_substr( char *str, char const *substr ); void main() { char str1[30],str2[20]; int n; gets(str1); gets(str2); n = del_substr( str1, str2 ); if ( n==0 ) { printf("/nno find/n"); printf("%s/n%s/n",str1,str2); } else printf("%s/n%s/n",str1,str2); } int del_substr( char *str, char const *substr ) { int i,j; /*计算一样的个数以及开始的位置*/ for ( i=0,j=0; *(str+i)!='/0'; i++) { if ( *(str+i)==*(substr+j) ) { j++; if ( *(substr+j)=='/0' ) break; } else j = 0; } /*开始移动*/ if ( *(substr+j)=='/0' ) { for ( i=i-j+1; *(str+i+j)!='/0'; i++) { *(str+i) = *(str+i+j); } *(str+i) = '/0'; return(1); } else return(0); }