字符串自实现(一)(mystrcpy,mystrcat,mystrcmp)
char* mystrcpy(char* str_one,const char* str_two)
{
char* tmp = str_one;
while (*str_one++ = *str_two++)return tmp;
}
char* mystrcat(char* str_one,const char* str_two)
{
char* tmp = str_one;
while (*str_one)str_one++;
while (*str_one++ = *str_two++)return tmp;
} //1-7为逐渐优化过程
int mystrcmp1(const char* str_one,const char* str_two)
{
while (*str_one != '\0'&&*str_two != '\0')
{
if (*str_one > *str_two)
{
return 1;
}
else if (*str_one < *str_two)
{
return -1;
}
else
{
str_one++;
str_two++;
}
}
if (*str_one != '\0'&&*str_two == '\0')
{
return 1;
}
else if (*str_one == '\0'&&*str_two != '\0')
{
return -1;
}
else
{
return 0;
}
} int mystrcmp2(const char* str_one, const char* str_two)
{
while (*str_one != '\0'&&*str_two != '\0')
{
if (*str_one != *str_two)
{
return *str_one - *str_two;
}
else
{
str_one++;
str_two++;
}
}
return *str_one - *str_two;
} int mystrcmp3(const char* str_one, const char* str_two)
{
while (*str_one != '\0'&&*str_two != '\0')
{
if (*str_one != *str_two)
{
break;
}
else
{
str_one++;
str_two++;
}
}
return *str_one - *str_two;
} int mystrcmp4(const char* str_one, const char* str_two)
{
for (;*str_one != '\0'&&*str_two != '\0';str_one++,str_two++)
{
if (*str_one != *str_two)
{
break;
}
}
return *str_one - *str_two;
} int mystrcmp5(const char* str_one, const char* str_two)
{
for (; *str_one&&*str_two; str_one++, str_two++)
if (*str_one != *str_two)
break;
return *str_one - *str_two;
} int mystrcmp6(const char* str_one, const char* str_two)
{
for (; (*str_one&&*str_two) && (*str_one == *str_two); str_one++, str_two++);
return *str_one - *str_two;
} int mystrcmp7(const char* str_one, const char* str_two)
{
for (; (*str_one&&*str_two) && (*str_one++ == *str_two++););
return *str_one - *str_two;
}
字符串自实现(一)(mystrcpy,mystrcat,mystrcmp)的更多相关文章
- [c/c++] programming之路(22)、字符串(三)——字符串封装
项目结构 头文件.h #include<stdio.h> #include<stdlib.h> #include<string.h> //字符串封装,需要库函数 / ...
- C语言程序设计(十) 字符串
第十章 字符串 字符串常量是由一对双引号括起来的一个字符串序列 字符串实际就是由若干个有效数字构成且以字符'\0'作为结束的一个字符序列 C语言没有提供字符串数据类型,因此字符串的存取要用字符型数组来 ...
- 自定义方法实现strcpy,strlen, strcat, strcmp函数,了解及实现原理
位置计算字符串长度 //strlen()函数,当遇到'\0'时,计算结束,'\0'不计入长度之内 //字符串的拷贝 //strcpy(字符串1,字符串2); //把字符串2 ...
- 自己实现C++的string类
使用C++的朋友对string类都不会陌生,string类使用起来很是方便,比C的字符数组好用多了,但是我们能不能自己实现一个属于自己的string类呢? 实现一个具有基本功能的string类并不难, ...
- 1. C/C++项目一
需求: 使用C语言封装string 字符串,实现字符串的增.删.改.查等API函数. 要求: 不能使用 string 库函数,所有库函数必须自己手动实现. [项目实现] myString.h 代码如下 ...
- typedef的使用2——定义函数
#include <stdio.h> #include <string.h> #pragma warning(disable:4996) //闲言碎语都先不要讲了,直接上函数吧 ...
- 睡不着,复习一下C++基础中的基础(深拷贝与浅拷贝)
#include <iostream> #include <string> #include <assert.h> using namespace std; //声 ...
- C语言学习第八章
今天开始学习字符串,学完以后最低要做到了解什么是字符串,以及字符串的一些应用方法,毕竟字符串还是很常见的. 简单的字符串"helloworld",这个字符串大家应该都很眼熟,学编程 ...
- c 跟字符串有关的函数
1.字符串查找 strstr char * strstr(const char *s1, const char *s2); 在s1中查找s2,如果找到返回首个s2的首地址 char * strcase ...
随机推荐
- ACwing1216. 饮料换购
题目: 乐羊羊饮料厂正在举办一次促销优惠活动.乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账). 请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于 ...
- Linux使用docker部署nacos
官网地址:https://nacos.io/zh-cn/docs/quick-start-docker.html 先把sql文件导入到mysql中 我也放了基础的sql /* * Copyright ...
- SpringBoot整合Elasticsearch启动报错处理 nested exception is java.lang.IllegalStateException: availableProcessors is already set to [8], rejecting [8]
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean wit ...
- Oracle VirtualBox 配置宿主机与虚拟机互访
写作原因 之前经常使用 VMware Workstation Pro,由于是非正常付费使用的不打算再用了.替代品就是 Oracle VirtualBox,但是发现了一个问题: "我想用NAT ...
- select......for update会锁表还是锁行
select查询语句是不会加锁的,但是select .......for update除了有查询的作用外,还会加锁呢,而且它是悲观锁. 那么它加的是行锁还是表锁,这就要看是不是用了索引/主键. 没用索 ...
- gojs 如何实现虚线(蚂蚁线)动画?
在绘制 dag 图时,通过节点和来箭头的连线来表示节点彼此之间的关系.而节点常常又带有状态,为了更好的表示节点之间的流程关系,loading 状态的节点,与后续节点之间,需要用 动画着的虚线 表示,表 ...
- Java初学者作业——编写 Java 程序,定义 Employee 类以及 HR 类,实现 HR 为 Employee 加薪的功能。
返回本章节 返回作业目录 需求说明: 编写 Java 程序,定义 Employee 类以及 HR 类,实现 HR 为 Employee 加薪的功能. 实现思路: 定义 Employee 类,并定义属性 ...
- Java高级程序设计笔记 • 【第6章 设计模式】
全部章节 >>>> 本章目录 6.1 设计模式 6.1.1 设计模式概述和分类 6.1.2 单列模式介绍 6.1.3 单例模式的实现 6.1.4 实践练习 6.2 单例模式 ...
- 使用tomcat搭建HTTP文件下载服务器
使用tomcat搭建HTTP文件下载服务器, 有时我们的应用或者服务需要去外网下载一些资源, 但是如果在内网环境或者网络不好的情况下, 我们可以在内网提供文件下载服务, 将预先下载好的资源放在某个地方 ...
- 图解MongoDB集群部署原理(3)
MongoDB的集群部署方案中有三类角色:实际数据存储结点.配置文件存储结点和路由接入结点. 连接的客户端直接与路由结点相连,从配置结点上查询数据,根据查询结果到实际的存储结点上查询和存储数据.Mon ...