C语言:模拟实现strstr函数,若是子串,输出子串后面的字符串,否则输出null
2015-11-07 19:25
363 查看
#include<stdio.h> #include<stdlib.h> #include<assert.h> char* my_strstr( char* dest, char* src) { assert(src); assert(dest); char* s1 = dest; //s1与s2控制src,dest往下走 char* p = s1; //p是else中方便保存的下一个字符 char* s2 = src; while (*s1) { p = s1; //else中保存的下一个字符 s2 = src; while (*s1 && *s2 ) { if (*s1 == *s2) { s1++; s2++; } //不相等则将arr1向下走一个字符,再开始比较是否相等 else { s1++; break; } } if (*s2 == '\0') //相等,返回 { return s1; } } return NULL; } int main() { char arr1[]= "hello world"; char arr2[]= "llo"; char* ret = my_strstr(arr1, arr2); printf("%s", ret); system("pause"); return 0; }
相关文章推荐
- C++中对象指针总结
- C语言:编写一个函数实现n^k,使用递归实现
- C语言:编写reverse_string(char * string)(递归实现)函数,将参数字符串中的字符反向排列
- C语言:用递归函数DigitSum(n)实现输入1729,输出sum=1+7+2+9=19的值
- 分式找规律计算
- C++嵌套类/局部类
- c++ explicit
- 模拟数字小时钟
- C++基础——格式化输出
- 详解宏定义(#define)
- 折半查找函数
- C#接收C/C++DLL的结构体嵌套数组及多维数组的解决方案
- 爬爬爬之路:OC语言(十) 内存管理(高级),多态简介
- cJSON库(构建json与解析json字符串)-c语言
- 水纹特效vc++源码
- C++中的new/delete和new[]/delete[]
- 浮点数据在嵌入式串行通讯中的快速处理
- C++异步调用Future机制漫谈
- 结构体指针变量与结构体成员指针变量
- C++API设计