#include<stdio.h> #include<string.h> typedef char Elemtype; void NativeStrMatching( Elemtype *Target, Elemtype *Pattern ) { int Tarlen = 0; int Patlen = 0; int flag = 0; Patlen = strlen( Pattern ); while( *Target != '\0' ) { for( int i=0; i<Patlen; i++ ) { if( *(Target+i) != *(Pattern+i) ) break; } if( i == Patlen ) { printf("位置%d处匹配成功!\n", Tarlen+1); flag = 1; } Tarlen++; Target++; } if( 0 == flag ) printf("匹配不成功!\n"); } int main() { Elemtype TargetStr[30]; Elemtype PatternStr[5]; printf("请输入目标字符串: "); gets(TargetStr); printf("请输入模式字符串: "); gets(PatternStr); NativeStrMatching( TargetStr, PatternStr ); return 0; }