在一个长字符串中寻找一个短字符串出现的位置,这是字符串匹配问题。
例如:长字符串是 “string” ,短字符串是 “ring” ,那么短字符串在长字符串中出现的位置是 2 ,即 “ring” 在 “string” 中出现的开始位置是 2
样例输入:
string
tri
样例输出:
Location: 1
int FindSubStr(char* t, char* p) /* 从字符串t查找子字符串p。 字符串以数值结尾,例如p="str",那么p[0]='s',p[1]='t',p[2]='r',p[3]=0。 采用朴素的匹配算法。 返回子字符串第一次出现的位置,例如t="string ring",p="ring",则返回2。 若没有找到,则返回-1。 */ { int i=0,j=0,num=0; while(t[i]!='\0'&&p[i]!='\0') { if(t[i]==p[i]) { i++; j++; } else { i++; j=0; num=i; } } if(p[j]=='\0') return num; else return -1; }