人才交流,会议室预定,心理学书籍
#include <stdio.h> #include <assert.h> char *my_strstr(const char *str1,const char *str2) { assert(str1); assert(str2); char *p = str1; //记录str1的初始位置 char *s1 = p; //保存str1的开始位置 char *s2 = str2; //记录str2的初始位置 while(*p) { s = p; //将str1的起始位置由上一次的起始位置向后加1,由下面的p++计算 while(*p && *q && *p == *q) //如果不匹配,以后每次比较时,str2都从首元素开始 { p++; q++; } if(*q == '\0') { return p; } p++; //不匹配,str1由上一次的起始位置向后加1 } return null; //整体遍历完没有找到,返回空 } int main() { char *str1 = "abbbcdef"; char *str2 = "bbcd"; char *ret = my_strstr(str1,str2); printf("%s\n",ret); return 0; }
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
如何在没有core文件的情况下用dmesg+addr2line定位段错误
用QT制作3D点云显示器——QtDataVisualization
网友评论