★创建一个函数,实现库函数strstr的功能 #include<stdio.h> #include<stdlib.h> #include<assert.h> char *my_strstr(char *src,char *dst) { assert(dst); assert(src); char *p = src; char *q = dst; while ((*dst)&&(*src)) { if (*src == *dst) //两指针内容相等时,指针向后移动不断匹配 { src++; dst++; } else { src = ++p; //指针内容不等时,子串指针跳至首地址,原串返回到此次匹配开始的下一位置 dst = q; p = src; } } if (*dst == ‘\0‘) //子串为‘\0‘时,说明匹配完成,返回原串与子串相同的首地址处 { return p; } else { return NULL; //没有匹配项,返回空 } } int main() { char arr1[] = "abbaac"; char arr2[] = "abba"; char *ret = my_strstr(arr1, arr2); printf("%s\n",ret); system("pause"); return 0; }
时间: 2024-10-25 03:03:27