首页 > 其他分享 >创建my_strstr函数

创建my_strstr函数

时间:2023-02-05 22:00:24浏览次数:39  
标签:p2 p1 strstr 函数 s2 s1 char my cur

#include<assert.h>
char* my_strstr(char* p1, char* p2)
{
assert(p1 != NULL);
assert(p2 != NULL);//保证指针有效性
char* s1 = p1;
char* s2 = p2;
char* cur = p1;
if (*p2 == '\0')
{
return p1;//一个特殊情况
}
while (*cur)//存档点移到最后的时候退出循环
{
s1 = cur;//每次s1从存档点开始尝试
s2 = p2;
while ((*s1 == *s2) && (*s2 != '\0') && (*s1 != '\0'))
{
s1++;
s2++;
}
if (*s2 == '\0')
{
return cur;//找到子串,返回首元素地址
}
cur++;
}
return NULL;//找不到,返回空指针
}

标签:p2,p1,strstr,函数,s2,s1,char,my,cur
From: https://blog.51cto.com/u_15736615/6038494

相关文章

  • mysql_gtid学习笔记
    一、GTID概述GTID是MYSQL5.6新增的特性,GTID(GlobalTransactionIdentifier)全称为全局事务标示符,用以数据库实例事务唯一标识,其组成主要是source_id和transaction_id即GT......
  • php7 安装mysqli实例讲解
    php7怎么安装Mysqli?Centosphp7安装mysqli扩展心得在新配服务器时发现,php无法连接到mysql。通过phpinfo发现。根本没有显示mysqli的相关配置。经过一系列研究。总结了......
  • My Code Style
    大家都在写,跟风。头文件万能头。因为我刚学OI的时候怎么都背不住algorithm怎么拼(变量数组开全局,一些前后重名/只在某一部分用的变量开局部。尽量不使用指针/stl......
  • 完胜的Scan(Excel函数集团)
    Scan看上去简单,就四个字母,其实,嗯,很内涵……Scan的基础用法就三个参数,好吧,实际应该算是四个参数:=Scan(初始值,数据源,Lambda(定义名称1,定义名称2,运算))以上,不算废话的......
  • 小程序云开发联表数据查询以及云函数中的应用
    点击观看视频↓↓↓小程序云开发联表数据查询以及在云函数中的应用|多表查询|连表lookup|聚合函数文章目录​​1、联表查询​​​​(1)lookup联接两个表格​​​​(2)使......
  • [ Tcl ] 如何实现类似 Perl 中 shift 函数的效果
    https://www.cnblogs.com/yeungchie/函数功能Perl中shift函数可以返回列表的第一个元素,并将后续所有元素向前移位(索引值减1)。输入可选,默认为@_或者@ARGV。my@......
  • MyBatis的使用八(动态SQL)
    本主要讲述mybatis处理动态sql语句一.问题引入前端展示的数据表格中,查询条件可能不止一个,如何将用户输入的多个查询条件,拼接到sql语句中呢?DynamicMapper接口声......
  • Spring整合Mybatis
    首先导入依赖1<properties>2<!--版本锁定-->3<spring.version>5.0.2.RELEASE</spring.version>4<log4j.version>1.2.17</log4j.version>......
  • 系统函数和库函数的区别
    例如:exit(0):是c库函数-------其他操作....在调用_exit_exit(0);系统调用fflush(File*stream):刷新缓冲区例如:fflush(stdout)  ......
  • [MySQL] 《数据库系统概念》阅读笔记
    第二章关系数据库在关系模型(relationalmodel)中,关系用来指代表(table),元组用来指代行(row),表中的一行代表了一组值之间的一种联系,行中的每一列(column)代表一个属性,属性允许的......