strstr算法实现
发布时间
阅读量:
阅读量
通过分析C语言库函数strstr的具体实现方式,有助于增强对字符串操作及指针机制的掌握程度。
函数定义:
char * strstr (const char *s1, const char *s2)
AI写代码cpp
可以设想一种嵌套循环的查找方式:
- 版本一:
外层循环的作用是确定s1中的起始位置,当内层循环未能完成匹配时,外层循环的指针将向前移动一位,并再次借助内层循环进行判断。
一旦内层循环检测到字符相等,便会持续比较后续字符,直至抵达s2子串的末尾。若此时p2指针已到达s2的末尾,则表示匹配成功。若在比较过程中发现不一致的字符,则终止内层循环,并从s1的下一个位置重新开始比较。
#define NUL '\0'
char *my_strstr(char const * s1, char const *s2) {
if (*s2 == NUL)
return s1;
while(*s1 != NUL) {
char * p1 = s1;
char * p2 = s2;
while(*p2 != NUL) {
printf("p1: %c,
全部评论 (0)
还没有任何评论哟~
