当前位置: 首页 > news >正文

定制网站建设官网wordpress 表格小工具

定制网站建设官网,wordpress 表格小工具,收费搭建网站,百度账号注册入口C语言之strstr函数的模拟实现 文章目录 C语言之strstr函数的模拟实现1. strstr函数的介绍2. strstr函数的使用3. strstr的模拟实现3.1 实现思路3.2 实现代码 1. strstr函数的介绍 函数声明如下#xff1a; char * strstr ( const char * str1, const char * str2 ); strs…C语言之strstr函数的模拟实现 文章目录 C语言之strstr函数的模拟实现1. strstr函数的介绍2. strstr函数的使用3. strstr的模拟实现3.1 实现思路3.2 实现代码 1. strstr函数的介绍 函数声明如下 char * strstr ( const char * str1, const char * str2 ); strstr函数是用于在字符串str1中找str2字符串第一次出现的位置如果找到改位置则将这个位置返回找不到则返回一个空指针NULL strstr函数比较元素时不包含 \0以 \0 作为结束的标志 2. strstr函数的使用 #include stdio.h #include string.hint main() {char arr1[] abcadefdef;char arr2[] def;char * ret strstr(arr1, arr2);if (ret ! NULL){printf(%s\n, ret);}else{printf(找不到\n);}return 0; }如果arr1字符串中是否有arr2 def 这三个字符必须得是连续的 然后用ret来接收strstr函数的返回值 如果arr1中有出现arr2这个字符串则返回第一次出现的地址 否则则返回一个空指针 最后继续判断是否为空指针如果不是则打印第一次出现的位置 运行结果如下 3. strstr的模拟实现 3.1 实现思路 假设有两个字符数组 str1中的字符串为 a b b b c d e f \0 str2中的字符串为 b b c \0 当将这两个字符串传给strstr函数时传入的是首元素地址所以str1指向字符 a str2指向字符 b 要判断str1字符串中是否有str2字符串首先str1要从第一个元素开始比较如果从第一个元素就错了所以要通过指针偏移的方式来找到第二个元素如果两个元素相同那么str1 和 str2 都偏移一个字节找到下一对要比较的元素 当指针偏移到第二个元素的时候当第二遍比较的时候str1 和 str2 前两个字符都相同此时str1指向第三个元素 b str2指向第二个元素 b 然后str1 和 str2 都偏移一个字节找到下一个元素 str1 找到第四个元素 bstr2 找到第三个元素 c此时两个元素不相同str1 得回到比较时的位置str2 得回到起始位置 3.所以我们可以定义两个指针变量用来记录str1比较时的位置和str2的起始位置假设为s1 和 s2 通过比较s1 和 s2 的元素判断是否相符合如果不符合s1 回到 str1的位置 s2回到 str2 的位置 然后str1找到下一个元素从这个元素开始比较当s2指向\0的时候则返回str1的地址我们也可以定义一个cur来存放str1的地址这样比较清晰一点 3.2 实现代码 #include stdio.h #include string.h #include assert.hchar* my_strstr(const char* str1, const char* str2) {const char* cur str1; //用cur用来记录当前的位置const char* s1 NULL; //通过s1 和 s2 比较元素const char* s2 NULL;assert(str1 str2); //assert断言如果传入的地址有有一个会空指针则直接返回str1的地址if (str2 \0)return (char*)str1;while (*cur) //当cur中的值不为\0时进入循环{s1 cur; //s1回到比较时的位置s2 str2; //s2回到初始位置while (*s1 *s2) //当s1和s2指向的值相等时进入循环{s1; //找到下一个元素s2; //找到下一个元素//再次比较}if (*s2 \0) //当s2中的元素为\0时则说明在str1中找到了str2return (char*)cur; //返回当前的位置cur; //第一次没找到找到下一个元素重新寻找}return NULL; //如果在循环中没有找到则返回一个空指针 }int main() {char arr1[] abcadefdef;char arr2[] def;char* ret my_strstr(arr1, arr2);if (ret ! NULL){printf(%s\n, ret);}else{printf(找不到\n);}return 0; }运行结果如下
http://www.yutouwan.com/news/371240/

相关文章:

  • 遵义市住房和城乡建设局官方网站6制作小游戏的软件
  • 影视公司网站建设seo优化神器
  • 产品营销方案案例范文网站维护优化
  • 建设网站模板下载营销软件开发
  • 北塘网站制作wordpress用户二级域名
  • 网站内容板块调换位置个人网站可以做自媒体吗
  • 建设银行淮安招聘网站做整装的网站
  • 门户网站建设使用语言注册网站代码
  • wordpress栏目出现404seo教程技术整站优化
  • 腾讯的网站是谁做的永久域名申请
  • 手机网站制作与建设南京市企业展厅设计公司
  • 深圳做网站推广三亚网站建设制作
  • 网站管理的主要内容做哪类视频网站需要视频证书
  • 温州网站建设专家珠宝网站源码
  • 网站开发和游戏开发的区别外网访问内网wordpress
  • 网站可兼容移动端asp.net mvc 网站开发
  • 怎么制作微信小程序游戏太原seo顾问
  • wordpress手机版网站易思espcms企业网站管理系统
  • 网站结构的类型线上注册公司流程和费用
  • 网站seo优化包括哪些方面做爰全过程免费的视频网站有声音
  • 公司企业网站建设步骤网站入口首页
  • 投放广告的网站国外炫酷网站设计
  • 工业设计网站排名浦东建设环评网站
  • 做网站选用什么域名比较好wordpress主题自定义添加后台设置
  • 可拖拽式网站建设网站建设中html网页
  • 做公司网站软件网站页面描述
  • 东莞网站制作十强wordpress权限说明
  • 南宁建站官网做网站 需要了解什么
  • asp网站开发环境搭建钟星建设集团网站
  • 网站建设推广方案书云南哪有网站建设推广