strstr的使⽤和模拟实现

strstr(function)

Returnsa pointer to the irst occurrence of str2 in str1, or a null pointer if str2 is not part of str1. (函数返回字符串str2在字符串str1中第⼀次出现的位置)。

 The matchingprocess doesnot include the terminating null-characters, but it stops there.

(字符 串的⽐较匹配不包含 \0 字符,以 \0 作为结束标志)。

使用代码

strstr的使用.函数返回字符串str2在字符串str1中第⼀次出现的位置,没找到就返回空指针。
char arr1[] = "i like chinese";
char arr2[] = "likek";
char* p = strstr(arr1, arr2);
if (p != NULL)
{printf("%s\n", p);
}
if (p == NULL)
{printf("没找到\n");
}

strstr的模拟实现

#include<stdio.h>
#include<string.h>
//模拟实现
char* my_strstr(char*arr1,char*arr2)
{char* p1 = arr1;char* p2 = arr2;while (*p1!=0)//如果是*p2!=0,就出不来了{char* p3 = p1;while (*p1 == *p2 && *p1 != 0 && &p2 != 0){p1++;p2++;}if (*p2 == 0){return p3;}p1++;}//出循环后,说明*p1已经为’\0‘了,在arr1中没找到到arr2。return NULL;
}
int main()
{//模拟实现char arr1[] = "i like chinese";char arr2[] = "like";char* p = my_strstr(arr1, arr2);if (p != NULL){printf("%s\n", p);}if (p == NULL){printf("没找到\n");}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/842121.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无线麦克风什么品牌好?一文读懂无线领夹麦克风哪个品牌音质最好

​当我们谈论到演讲、表演或者录制视频时&#xff0c;一个高质量的无线麦克风能够使得整个体验提升至一个全新的水平。它不仅能够保证声音的清晰度和真实度&#xff0c;还能够让使用者在演讲或者表演时更加自信和舒适。基于对市场的深入研究和用户体验的考量&#xff0c;我挑选…

在微信公众号怎么添加留言板功能

在如今信息爆炸的时代&#xff0c;微信公众号已成为企业与用户互动的重要桥梁。如何在这个平台上脱颖而出&#xff0c;吸引用户的眼球&#xff0c;提升用户黏性&#xff0c;成为每一个公众号运营者都需要思考的问题。今天&#xff0c;我们就来聊聊如何在微信公众号中巧妙添加留…

车辆相关识别API优化您的车辆系统

车辆相关识别API是开发者们所需的重要工具&#xff0c;它们基于先进的计算机视觉和深度学习技术&#xff0c;提供了强大的车辆识别和分类能力。这些API能够从图像或视频中快速准确地识别和提取车辆的关键信息&#xff0c;如车辆型号、品牌、颜色等。对于开发者而言&#xff0c;…

1251. 平均售价

1251. 平均售价 题目链接&#xff1a;1251. 平均售价 代码如下&#xff1a; # Write your MySQL query statement below select p.product_id,round(ifnull(sum(units*price)/sum(units),0),2) as average_price from Prices as p left join UnitsSold as u on p.product_id…

机器学习:探索数据的魔法世界

课程链接&#xff1a;AI小天才&#xff1a;让你轻松掌握机器学习 引言&#xff1a; 在当今数字化的时代&#xff0c;数据无处不在&#xff0c;而机器学习则是解析、理解和利用这些数据的魔法钥匙。从自动驾驶到智能推荐系统&#xff0c;机器学习的应用无所不在&#xff0c;给我…

k8s问题

文章目录 本地搭K8s集群 bilibili什么是声明式API&#xff1f;kubectl apply Etcd数据库有什么特性&#xff0c;为什么K8S选用了Etcd数据库&#xff1f;K8S中一个node的生命周期是怎样的&#xff1f;服务发现机制介绍docker的实现原理介绍如果只是使用Linux命名空间进行分离&am…

【深度学习】最强算法之:人工神经网络(ANN)

人工神经网络ANN 1、引言2、人工神经网络(ANN)2.1 定义2.1.1 定义2.1.2 应用场景 2.2 核心原理2.3 实现方式2.4 算法公式2.5 代码示例 3、总结 1、引言 小屌丝&#xff1a;鱼哥&#xff0c;看新闻没&#xff1f; 小鱼&#xff1a;新闻天天看&#xff0c;啥事大惊小怪的。 小屌…

Python数据分析-心脏病(随机森林预测分析)

本次案例分析用心脏病数据集来做随机森林模型预测 导入基本的数据分析包 import pandas as pd import numpy as np from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import accuracy_score…

【Python】【报错解决】【无法安装socket库】No matching distribution found for socket

一、问题描述 如下图&#xff0c;笔者在做一个安全相关的项目时&#xff0c;遇到如下报错&#xff1a; No matching distribution found for socket 在尝试安装socket&#xff08;套接字&#xff09;库时报错&#xff0c;报错代码&#xff1a; pip install socket二、原因及解…

【信息论系列2】蜂窝通信得基本概念和信道容量等相关计算

基本概念 已经看到,为了确保完全的区域覆盖而没有死点,可以使用一系列正多边形。 出于经济原因,通常采用六边形(六边形的设计比正方形或三角形更有效)。基于简单几何,相邻六边形之间的中心到中心的距离 x x x由 3 R \sqrt{3}R

【Lexus.4】Executive Sedan——Dismantling Follow-up

文章目录 碰撞测试前后防撞钢梁偏置碰撞A/B/C柱&#xff0c;边梁抗拉、屈服强度 底盘发动机轮上马力零部件供应商 来自2021《懂车大爆炸》——是一档为汽车爱好者、购车者和对汽车结构感兴趣的人提供的专业、生动的教学视频。它通过全拆散的方式&#xff0c;让观众更直观地了解…

路由引入实验(思科)

华为设备参考&#xff1a;路由引入实验&#xff08;华为&#xff09; 技术简介 路由引入技术在网络通信中起着重要的作用&#xff0c;能够实现不同路由协议之间的路由传递&#xff0c;并在路由引入时部署路由控制&#xff0c;实现路径或策略的控制 实验目的 不同的路由协议之…

抽样方法你真的懂么?

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;抽样方法的魅力与挑战 二、有放回抽样与无放回抽样的比较 1. 有放回抽…

高级优化理论与方法(十三)

高级优化理论与方法&#xff08;十三&#xff09; Non-linear Constrained OptimizationCase 1DefinitionExample 1Example 2 Necessary/Sufficient ConditionsDefinitionExample TheoremFONC(Lagranges Condition)2-DimensionalSummary:Lagranges Theorem[FONC] Lagranges Fun…

关于flask的错误:ImportError: cannot import name ‘Flask

学习flask框架的时候报错ImportError: cannot import name ‘Flask’ 可尝试如下两种方法解决&#xff1a; 方法一&#xff1a;若没安装过flask&#xff0c;则进入cmd&#xff0c;输入pip install flask 方法二&#xff1a;若安装过flask&#xff0c;则看文件名是否是flask …

精通C++ STL(二):string类的模拟实现

目录 string类各函数接口总览 默认成员函数 构造函数 拷贝构造函数 赋值运算符重载函数 析构函数 迭代器相关函数 begin和end 容量和大小相关函数 size和capacity reserve和resize empty 修改字符串相关函数 push_back append operator insert erase clear swap c_str 访…

跨平台之用VisualStudio开发APK嵌入OpenCV(一)

序 本篇是杂谈以及准备工作&#xff08;此处应无掌声&#xff09; 暂时不管iOS&#xff08;因为开发hello world都要年费&#xff09; 软件&#xff1a; Visual Studio 2019&#xff08;含Android SDK和NDK编译器等&#xff09; OpenCV 这是一个女仆级的系列文章&#xf…

探索数据结构:单链表的实践和应用

&#x1f511;&#x1f511;博客主页&#xff1a;阿客不是客 &#x1f353;&#x1f353;系列专栏&#xff1a;渐入佳境之数据结构与算法 欢迎来到泊舟小课堂 &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 ​ 一、前言 前面我们学习了数据结构中的顺序表&…

扭蛋机小程序开发,数字化发展对行业带来的优势

随着科技的不断进步和大众对娱乐消费需求的提高&#xff0c;线上扭蛋机得到了快速发展&#xff0c;市场规模不断扩大。线上扭蛋机是基于淘宝的小程序&#xff0c;它以电商的模式让消费者进行虚拟扭蛋&#xff0c;获得各类商品&#xff0c;扭蛋机小程序中的商品包括玩具、IP周边…

线段(线性dp)

题目链接&#xff1a;[TJOI2007] 线段 - 洛谷 思路&#xff1a; f[i][0]表示走完第i行且停在第i行的左端点最少用的步数 f[i][1]同理&#xff0c;停在右端点的最少步数。 那么转移就很简单了&#xff0c;走完当前行且停到左端点&#xff0c;那么一定是从右端点过来的&#x…