//s母串
//t子串
char* search(char* s, char* t) {
//遍历母串
char *return_vlaue = NULL;
char* pt_temp = t;//存储t的指针首地址的临时变量
while (*s != '\0') {//s字符串到末尾,结束
if (*s == *t) {//判断母串当前字符是否与子串t首字符相同
return_vlaue = s;//储存当前t指向的字符在s字符串中的地址
while (*s == *t) {//判断子串t的后续字符是否相同
//检查是否配对完毕
if (*(t + 1) == '\0' && *t==*s) {//如果子串t指向末尾,同时两者相等,说明配对成功,返回储存当前t指向的字符在s字符串中的地址
return return_vlaue;
//配对成功
}
t++, s++;
}
//如果未从上面的return结束函数说明,配对失败,重置值/
t = pt_tmep;//子串指针重新指向t的第一个字符
return_vlaue = NULL; //返回的指针重新等于NULL
}
s++;
}
return return_vlaue;//返回NULL
}
习题11-6 查找子串
最新推荐文章于 2023-08-26 23:36:45 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)