strstr模拟实现

来源:互联网 发布:靳东实际人品知乎 编辑:程序博客网 时间:2024/05/20 07:49

strstr函数在string.h头文件下

作用:des[]="abcdefg12345";   

            msg[]="fg1";

            strstr(des,msg);

即若在des下可以找到msg字符串,返回在des下与msg相同字符的首f地址;

否则返回null表示没找到与msg字符串相等的字符串。

实现步骤:保留母串与子串的首地址->大循环母串指到的为非‘\0’->

                 小循环子串指到的为非‘\0’->判断母串与子串指向的是否相同->

                 若相同++直到子串指向‘\0’->从母串保留的地址开始输出

#include<stdio.h>#include<assert.h>char* swap(char* msg[],char* beg[]){char* p=msg;char* q=beg;char* w=msg;assert(msg);assert(beg);while(*w!='\0'){p=w;while(*q!='\0'&&*p!='\0'){if(*p==*q){p++,q++;continue;}else{q=beg;w++;break;}}if(*q=='\0')return w;if(*q!='\0'&&*p=='\0')break;}return NULL;}int main(){char arr[30];char arr2[30];gets(arr);gets(arr2);//swap(arr,arr2);printf("%s\n",swap(arr,arr2));return 0;}


0 0
原创粉丝点击