strchr 、 strrchr 、strrstr的实现
#include<stdio.h>#include<stdlib.h>#include<assert.h>char*my_strchr(constchar*dst,charc){assert(dst);constchar*pdst=dst;while(*pdst){if(*pdst==c)return(char*)pdst;elsepdst++;}returnNULL;}intmain(){charc=0;chararr[40]={0};char*=NULL;scanf("%c",&c);scanf("%s",arr);str=my_strchr(arr,c);printf("%#p\n",*str);system("pause");return0;}#include<stdio.h>#include<stdlib.h>#include<assert.h>char*my_strrchr(constchar*src,charc){assert(src);constchar*psrc=src;char*dst=NULL;while(*psrc){if(*psrc==c)dst=(char*)psrc;psrc++;}returndst;}intmain(){charc=0;chararr[40];char*place=NULL;scanf("%c%s",&c,arr);place=my_strrchr(arr,c);printf("%#p\n",place);system("pause");return0;}//strrstr库里面没有#include<stdio.h>#include<stdlib.h>#include<assert.h>char*my_strrstr(constchar*dst,constchar*src){assert(dst);assert(src);constchar*pdst=dst;constchar*psrc=src;char*right=NULL;while(*dst){while(*pdst==*psrc){if(*pdst=='\0')returnright=(char*)dst;else{pdst++;psrc++;}}if(*psrc=='\0')right=(char*)dst;pdst=++dst;psrc=src;}returnright;}intmain(){chararr1[50]={0};chararr2[40]={0};char*place=NULL;scanf("%s%s",arr1,arr2);place=my_strrstr(arr1,arr2);printf("%#p\n",place);system("pause");return0;}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。