基于visual Studio2013解决面试题之0807strstr函数
题目
解决代码及点评
/*写strstr函数简单的遍历去查找吧
*/#include <iostream>
#include <stdio.h>const char *my_strstr(const char *str, const char *sub_str)
{// 遍历for(int i = 0; str[i] != '\0'; i++){int tem = i; //tem保留主串中的起始判断下标位置 int j = 0;// 与substr去匹配while(str[i++] == sub_str[j++]){// 如果匹配成功if(sub_str[j] == '\0'){// 返回成功位置return &str[tem];}}i = tem;}return NULL;
}int main()
{char *s = "1233345hello";char *sub = "345";printf("%s\n", my_strstr(s, sub));system("pause");return 0;
}
代码下载及其运行
代码下载地址:http://download.csdn.net/detail/yincheng01/6704519
解压密码:c.itcast.cn
下载代码并解压后,用VC2013打开interview.sln,并设置对应的启动项目后,点击运行即可,具体步骤如下:
1)设置启动项目:右键点击解决方案,在弹出菜单中选择“设置启动项目”
2)在下拉框中选择相应项目,项目名和博客编号一致
3)点击“本地Windows调试器”运行
程序运行结果
转载于:https://www.cnblogs.com/new0801/p/6177331.html
基于visual Studio2013解决面试题之0807strstr函数相关推荐
- 基于visual Studio2013解决面试题之0901奇偶站队
题目 解决代码及点评 /*给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数 解决方法:两边同时遍历,如果遇到左边偶数或者右边基数,则交换 */#include <ios ...
- 基于visual Studio2013解决面试题之0403串联字符串
题目 解决代码及点评 /*有 n个长为 m+1的字符串,如果某个字符串的最后m个字符与某个字符串的前m个字符匹配,则两个字符串可以联接,问这n个字符串最多可以连成一个多长的字符串,如果出现循环 ...
- 基于visual Studio2013解决面试题之0804复杂链表
题目 解决代码及点评 /*复杂链表的拷贝,现在有一个复杂链表,完成一个clone函数拷贝一个链表复杂链表是指struct Node{struct Node* _next;struct Node ...
- 基于visual Studio2013解决面试题之0209最大堆排序
题目 解决代码及点评 /*最大堆是一个数组数据结构,任意一个下标i,它的值大于i*2和i*2+1的值(i从1开始)当这样的堆形成时,最大值在数组最开始的位置.当这样的堆形成后,将第一个元素交换 ...
- 基于visual Studio2013解决面试题之1002公共子串
题目 解决代码及点评 /*求两个字符串的最小公共子串这道题简单的两个字符串遍历即可 */#include <iostream> using namespace std; const ...
- 基于visual Studio2013解决面试题之1007鸡蛋和篮子
题目 解决代码及点评 /*n个鸡蛋放m个篮子,篮子不能为空,有多少种方法 */#include <iostream> using namespace std; const int ...
- 基于visual Studio2013解决面试题之0601二叉树深度
题目 解决代码及点评 /*求二叉树深度 */#include <iostream> #include <stack> using namespace std;templ ...
- 基于visual Studio2013解决面试题之0402合并升序链表并去重
题目 解决代码及点评 /*两个升序链表合并,并要求去掉重复元素 */ #include <iostream> using namespace std;class LinkNode ...
- 基于visual Studio2013解决面试题之0802数字最多元素
题目 解决代码及点评 /*查找数组中超过一半的那个元素方法1:每次删除数组中一对不相同的value,最后剩下都是想通的数字时,就是超过一半的那个元素了方法2:排序后,取中间元素即可 */#in ...
最新文章
- NodeJS学习之网络操作
- Java实现JsApi方式的微信支付
- linux c 实现 http get post 请求
- opencv 一堆算法,图像处理等
- 重磅 | Dragonfly 晋升成为 CNCF 孵化项目
- python热部署_定时任务-Quartz(热部署、冷部署)
- MySQL管理员指南
- HFileOutputFormat与TotalOrderPartitioner
- leetcode24. 两两交换链表中的节点
- [P1580] yyy loves Easter_Egg I
- EasyUI系列学习(十一)-Accordion(分类)
- Tensorflow——Tensorflow的用途、安装、数据流图
- 新Attention | NAM,一种新的注意力计算方式,无需额外的参数
- Java基础:Collection集合、Iterator迭代器以及泛型
- 学习笔记一 线性代数
- python pandas合并多个excel,Python pandas实现excel工作表合并功能详解
- Downward paths(数论,思维)
- 用一个简单的例子来阐述强化学习的相关概念(二)
- php毕设代做,客户管理系统,java,jsp,php,好毕设为你指导如何完成一个客户管理系统...
- 卸载应用后,删除安装根目录下的所有文件,提示已在另一进程打开,在资源管理器进程中找不到该程序的解决
热门文章
- 考虑长度、大小写的字符串对比
- 定时器 槽函数没执行_Web服务器项目详解 07 定时器处理非活动连接(上)
- 无向图双连通分量BCC(全网最好理解)
- 如何设置运行在Virtualbox内的Ubuntu虚拟机的静态ip地址
- JLINK与JTAG的区别
- 【Anaconda】InvalidVersionSpecError: Invalid version spec: =2.7
- 【OpenPose-Windows】error1 OpenPose项目加载失败
- (原创总结) 几种通信编码方式
- usb2.0/3.0/3.1/3.2/4 各版本速率
- gre tunnel源码分析之接收流程