编程实现strstr函数「建议收藏」

编程实现strstr函数「建议收藏」函数接口为:char*mystrstr(char*str1,char*str2)要求:在字符串str1中查找第一次出现字符串str2的位置,如果找到匹配的字符串,返回第一次匹配的指针,否则返回NULL。#include<iostream>usingnamespacestd;char*mystrstr(char*str1,char*str2){ char*p,*q;…

大家好,又见面了,我是你们的朋友全栈君。

函数接口为:char *mystrstr(char *str1,char *str2)

要求:在字符串str1中查找第一次出现字符串str2的位置,如果找到匹配的字符串,返回第一次匹配的指针,否则返回NULL。

#include<iostream>
using namespace std;
char *mystrstr(char *str1, char *str2)
{

    char *p, *q;
    if (str1 == NULL || str2 == NULL)
   {

    cout << “the string is error!” <<endl;
    exit(0);
   }
  while (*str1 != ‘\0’)
  {

    p = str1;
    q = str2;
  while (*p == *q&&*q!=’\0′)
  {

    p++;
    q++;
    }
    if (*q == ‘\0’)
      return str1;
    str1++;
  }
  return NULL;
}
int main()
{

  char a[] = “hello world”;
  char b[] = “world”;
  char *p = mystrstr(a, b);
  if(p)
  cout << p << endl;
  getchar();
  return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153009.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月25日 上午9:36
下一篇 2022年6月25日 上午9:46


相关推荐

  • 异常处理面试题_运行值长面试题

    异常处理面试题_运行值长面试题java提供了两种异常机制。一种是运行时异常(RuntimeExepction),一种是受检异常(checkedexecption)。受检异常:我们经常遇到的IO异常及sql异常就属于检查式异常。对于这种异常,java编译器要求我们必须对出现的这些异常进行catch,面对这种异常要么往上抛,要么就catch运行时异常:我们可以不处理。当出现这样的异常时,总是由虚拟机接管。RuntimeExec

    2022年9月30日
    4
  • 二叉树性质的性质及证明整理

    二叉树性质的性质及证明整理——整理于2020.4.29二叉树的性质及证明性质1:在二叉树的第i层上至多有2(i-1)个结点(i>=1)证明:数学归纳法(1) i=1时只有一个根节点。显然2(i-1)=20=1是对的(2) 假设对所有的j,1<=j<i,命题成立,即第j层上至多有2(j-1)个结点(3)由归纳假设可得:第i-1层上至多有2(i-2)个结点。由于二叉树…

    2022年5月6日
    58
  • Python学生信息管理系统课程设计报告_python做的项目管理系统

    Python学生信息管理系统课程设计报告_python做的项目管理系统1.本人第一次学python做出来的,当时满满的成就感,当作纪念!!!!!非常简单,复制即可使用代码块importjson#把字符串类型的数据转换成Python基本数据类型或者将Python基本数据类型转换成字符串类型。deflogin_user():whileTrue:register=input(‘学生姓名:’)try:…

    2022年10月10日
    5
  • SqlBulkCopy 来自数据源的 String 类型的给定值不能转换为指定目标列的类型 bit「建议收藏」

    SqlBulkCopy 来自数据源的 String 类型的给定值不能转换为指定目标列的类型 bit「建议收藏」使用SqlBulkCopy批量插入,可以快速对大批量的数量插入,性能非常好在使用时出现“来自数据源的String类型的给定值不能转换为指定目标列的类型bit”异常为DataTable与要插入的数据表字段位置不一样所至DataTable与要插入的数据表要字段名,位置,数据类型都一至才可示例,使用使用SqlBulkCopy插入多个表publicbo…

    2022年7月20日
    23
  • vim复制粘贴_vim剪切命令

    vim复制粘贴_vim剪切命令在Windows下我们习惯的操作,复制单个字符,复制单行多行,删除单行多行,在linux的vim中操作如下:G(shift+g+g):跳到文档尾g+g:跳转到文档首home键:光标移动到行首end键:光标移动到行尾yy:复制光标所在行的整行内容yw:复制光标所在单词的内容nyy:复制从光标开始向下的n行内容,n为复制的行数nyw:复制从光标所在字开始后的n个字,n为复制的字数p:粘贴,将复制的内容粘贴在光标所在的位置x(小x):删除光标所在位置的字符,同键盘上的del

    2026年2月16日
    4
  • 直流有刷电机与无刷电机的区别

    直流有刷电机与无刷电机的区别首先介绍有刷电机与无刷电机工作原理 最后从调速方式及性能差异这两个方面详细的阐述了有刷电机与无刷电机的区别 有刷电机与无刷电机工作原理 1 有刷电机 电机工作时 线圈和换向器旋转 磁钢和碳刷不转 线圈电流方向的交替变化是随电机转动的换相器和电刷来完成的 在电动车行业有刷电机分高速有刷电机和低速有刷电机 有刷电机和无刷电机有很多区别 从名字上可以看出有

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号