#include<stdio.h> #include<stdlib.h> #include<assert.h> char *my_strchr(const char *dst, char c) { assert(dst); const char *pdst = dst; while (*pdst) { if (*pdst == c) return (char *)pdst; else pdst++; } return NULL; } int main() { char c=0; char arr[40]={0}; char * = NULL; scanf("%c", &c); scanf("%s", arr); str=my_strchr(arr, c); printf("%#p\n",*str); system("pause"); return 0; } #include<stdio.h> #include<stdlib.h> #include<assert.h> char *my_strrchr(const char *src, char c) { assert(src); const char *psrc = src; char *dst = NULL; while (*psrc) { if (*psrc == c) dst =(char *) psrc; psrc++; } return dst; } int main() { char c = 0; char arr[40]; char *place = NULL; scanf("%c%s", &c, arr); place = my_strrchr(arr, c); printf("%#p\n",place); system("pause"); return 0; } //strrstr库里面没有 #include<stdio.h> #include<stdlib.h> #include<assert.h> char *my_strrstr(const char *dst, const char *src) { assert(dst); assert(src); const char *pdst = dst; const char *psrc = src; char *right= NULL; while (*dst) { while (*pdst == *psrc) { if (*pdst== '\0') return right=(char *)dst; else { pdst++; psrc++; } } if (*psrc == '\0') right = (char *)dst; pdst = ++dst; psrc = src; } return right; } int main() { char arr1[50] = { 0 }; char arr2[40] = { 0 }; char *place = NULL; scanf("%s%s",arr1, arr2); place = my_strrstr(arr1, arr2); printf("%#p\n",place); system("pause"); return 0; }
本文名称:strchr、strrchr、strrstr的实现
标题路径:https://www.cdcxhl.com/article10/gpeogo.html
成都网站建设公司_创新互联,为您提供云服务器、标签优化、网站收录、网站营销、网站设计、动态网站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联