模拟实现strrchr,strchr

来源:互联网 发布:淘宝多琳香水是正品么 编辑:程序博客网 时间:2024/06/05 02:54

模拟实现strrchr,strchr

首先我是个渣渣,本文仅限参考

1、要模拟strrchr,首先得先弄清strrchr是个什么东西

strrchr() 函数查找字符在指定字符串中从后面开始的第一次出现的位置,如果成功,则返回从该位置到字符串结尾的所有字符,如果失败,则返回 false。与之相对应的是strchr()函数,它查找字符串中首次出现指定字符的位置。

知道这个就好办了

代码如下:

#include<stdio.h>#include<stdlib.h>#include<string.h>#include<assert.h> char*my_strrchr(char*str,char ch,int len){str=str+len-1;assert(str);while(*str!='\0'){if(*str==ch)return str;str--;}return 0;}int main(){int ch=0;char arr[]="ab cdab cdfg";int len=strlen(arr);printf("请输入要查的字符");scanf("%c",&ch);printf("%s\n",my_strrchr(arr,ch,len));system("pause"); return 0;}

代码比较简单,能力有限

2、同样需知道strchr是个什么鬼

功能:查找字符串s中首次出现字符c的位置
说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL

代码如下:

#include<stdio.h>#include<stdlib.h>#include<assert.h>char*my_strchr(char*str,char ch){assert(str);while(*str!='\0'){if(*str==ch)return str;str++;}return 0;}int main(){char ch=0;char arr[]="abcdabcdefgh";printf("请输入要查的字符");scanf("%c",&ch);printf("%s\n",my_strchr(arr,ch));system("pause"); return 0;}
代码比较相似,今天比较累,就写这些了,谢谢




1 0
原创粉丝点击