我是靠谱客的博主 俊逸棒棒糖,最近开发中收集的这篇文章主要介绍c语言学习-自我实现my_strstr(const char* ,const char*);,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
c语言字符串中有一个函数叫:char* strstr(const char* firststring,const char* secondstring);
作用是检测字符串:firststring中是否包含了seconfstring,如果包含了返回第一次出现的指针,否则返回空指针。
闲来无事,自我实现一下这个函数:
char * my_strstr(const char* firststr,const char* secondstr){
int i=0,j=0,loc; //定义小标,用于循环遍历,loc用于保存第一次出现的位置
while(i<strlen(firststr)){ //遍历整个字符串
if(firststr[i] == secondstr[j]){ //如果出现相等的地方,开始判断之后的字符是否相等
loc = i; //记下当前位置,方便返回位置指针
while(j<strlen(secondstr)){
i++,j++;
if(firststr[i] == secondstr[j])
continue;
else
break;
}
if(j == strlen(secondstr)-1) //判断两个字符串对比的结果,如果下标j访问至结尾,那么字符串1包含串2
{
return (firststr+loc); //返回指针
}
else //如果没有到结尾,那要更新小标
{
j=0; //j置0,方便下一次的再比较
i=loc; //i置会原位,回溯
}
}//out if
i++;
}//while
if(i == strlen(firststr)-1) //如果遍历完整个字符,都没有找到,返回空指针
return NULL;
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
觉得有用,点个赞呗!
最后
以上就是俊逸棒棒糖为你收集整理的c语言学习-自我实现my_strstr(const char* ,const char*);的全部内容,希望文章能够帮你解决c语言学习-自我实现my_strstr(const char* ,const char*);所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复