char *search( char *s, char *t )
{
int i, j, k=0, flag = 0;
char *p;
for (i=0; s[i] != '\0'; i++) {
if (s[i] == t[0]) {
p = &s[i];
for (j=i, k=0; t[k] != '\0'; j++, k++) {
flag = 0; //flag每次遇到t[0]都要重置为零重新检查是否为子串
if (t[k] != s[j]) {
flag=1; //非子串跳出子循环
break;
}
}
if (!flag) break; //flag==0则说明子串已找到,跳出,防止第二个子串
}
}
if (!flag) return p;
else return NULL;
}
习题11-6 查找子串
最新推荐文章于 2024-02-19 15:56:06 发布