自定义字符串函数:strlen,strcat,strcpy,strcmp

计算字符串长度函数strlen:

int mystrlen(char *s)
{int count = 0;char *p = s;if (!p){return count;}while (*p != '\0'){count++;p++;}return count;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

字符串连接函数strcat:

int mystrcat(char str1[], char str2[])
{if (!str1 || !str2){return;}int i = 0;while (str1[i] != '\0'){i++;}int j = 0;while (str2[j] != '\0'){str1[i++] = str2[j++];}str1[i] = '\0';
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

字符串拷贝函数strcpy:

int mystrcpy(char str1[], char str2[])
{int i = 0;if (!str1 && !str2){return;}while (str2[i] != '\0'){str1[i++] = str2[i];}str1[i] = '\0';
} 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

字符串比较函数strcmp:

int mycmp(char str1[], char str2[])
{int i = 0;while ((str1[i] == str2[i]) && str1[i] != '\0'){i++;}return str1[i]-str2[i];
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

另一种字符串比较方法,输出-1,0,1来达到比较效果:

int mycmp(char *str1, char *str2)
{for (; *str1 != '\0';){if (*str1 > *str2){return 1;}else if (*str1 < *str2){return -1;}else{return 0;}str1++;str2++;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460393.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux系统日志及日志分析

Linux系统拥有非常灵活和强大的日志功能&#xff0c;可以保存几乎所有的操作记录&#xff0c;并可以从中检索出我们需要的信息。大部分Linux发行版默认的日志守护进程为 syslog&#xff0c;位于 /etc/syslog 或 /etc/syslogd&#xff0c;默认配置文件为 /etc/syslog.conf&#…

算法题系列

如果字符串str3能够由str1和str2中的字符按顺序交替形成&#xff0c;那么称str3为str1和str2的交替字符串。 例如str1"abc"&#xff0c;str2"def"&#xff0c;那么"adbecf", "abcdef", "abdecf", "abcdef", "…

学会拒绝别人的6个技巧_多少人败在不懂拒绝上!牢记10个高情商拒绝技巧,人生越来越顺...

人际交往中&#xff0c;往往需要拒绝别人的请求&#xff0c;否定别人的意见&#xff0c;这并非易事&#xff0c;需要极高的情商&#xff0c;做到既能成功拒绝&#xff0c;又不得罪他人。否则&#xff0c;不懂拒绝的话&#xff0c;就会给自己带来许多麻烦&#xff0c;也会给别人…

ad09教程

【写的不好请谅解】 1、首先需要先准备好软件&#xff0c;这个大家就直接去网上找一下&#xff0c;安装也不难&#xff0c;如果有需要也可以给我留言哈嘻嘻嘻&#xff1b; 2、打开ad09&#xff1b; 3、大家会发现整个界面都是英语&#xff0c;可能看起来有点累吧&#xff0c;就…

记GMIC 2014

我也是因为一次偶然的机会得知了全球移动互联网大会&#xff08;缩写GMIC&#xff09;这样一个全球最大规模的移动互联网行业的盛会&#xff0c;并且因为偶然的机会有幸在今年五一假期时得到一张分会场的门票。面对这样难得的机会&#xff0c;果断把五一三天假给自己放成了七天…

Win10/Win7小技巧:教你如何彻底关闭系统进程

无论Windows 10打过多少补丁&#xff0c;官方说的有多么完美&#xff0c;运行卡顿和程序假死还是常有的事儿。这个时候常规的解决方案就是用任务管理器&#xff08;CtrlAltDel&#xff09;去解决一些占用系统资源非常过分&#xff0c;“表脸”的进程。 但有的时候会发现任务管理…

导致大量kworker的原因_高尿酸与生活习惯有关?导致高尿酸的8个坏习惯,现在改还来得及...

高尿酸是痛风出现前的一个时期&#xff0c;大约百分之十左右的患者会出现痛风情况。这种疾病是一种人体代谢絮乱疾病&#xff0c;是由内外多种因素导致的&#xff0c;那么关于高尿酸形成的具体原因&#xff0c;下面我们一起来看看吧。高尿酸的病因有哪些&#xff1f;1、饮食不当…

C#开发微信公众平台-就这么简单(附Demo)

相关文档&#xff1a;https://www.google.com/search?site&sourcehp&qC%23%E5%BE%AE%E4%BF%A1%E5%BC%80%E5%8F%91&btnGGoogle%E6%90%9C%E7%B4%A2 原文地址&#xff1a;http://www.cnblogs.com/xishuai/p/3625859.html 写在前面 服务号和订阅号URL配置创建菜单查询…

用一个简单的例子来演绎事件委托

本篇博文&#xff0c;Insus.NET想使用一个超简单的例子来演绎事件委托。我们在开发网页时&#xff0c;刚开始时在网页的顶部放一个铵钮(web control)&#xff0c;想实现一个功能。 在xxx.aspx.cs: OK&#xff0c;某一天&#xff0c;此网页的内容随时间而增长&#xff0c;出现了…

Java的接口及实例

一、定义Java接口&#xff08;Interface&#xff09;&#xff0c;是一系列方法的声明&#xff0c;是一些方法特征的集合&#xff0c;一个接口只有方法的特征没有方法的实现&#xff0c;因此这些方法可以在不同的地方被不同的类实现&#xff0c;而这些实现可以具有不同的行为&am…

三位数的茎叶图怎么看_贝德玛化妆品生产日期怎么看?贝德玛化妆品保质期怎么看?...

对于喜欢化妆的小伙伴来说&#xff0c;贝德玛这个名字并不陌生。因为在卸妆产品中&#xff0c;有一个爆款单品卸妆水就出自贝德玛旗下&#xff0c;当然这也是贝德玛最知名的产品。不过很多人并不知道&#xff0c;这个来自法国的化妆品品牌&#xff0c;其实属于药妆系列。所以贝…

从Loagistic 到 SVM算法

SVM&#xff08;支持向量机&#xff09;&#xff0c;一种二类分类器&#xff0c;之所以称之为向量机&#xff0c;是因为它本身就产生一个二值决策结果&#xff0c;即使一种决策“机”&#xff0c;支持向量机的泛化错误低&#xff08;具有结构风险最小&#xff09;&#xff0c;具…

Scala.js:将Scala编译为JavaScript的编译器

Scala.js是一款将Scala代码编译为JavaScript代码的编译器&#xff0c;该编译器支持全部Scala语言特性。借助于Scala.js&#xff0c;开发者能够使用Scala开发从前端到后端的Web应用&#xff0c;而且Scala.js还带来了在服务器和客户端之间复用代码的可能性。Scala.js值得关注的特…

array

array_shift(使得第一个参数和后面的参数分开&#xff0c;先进先出) vsprintf格式化sql语句 $r substr($sql,0,6)从0个开始截取6位。这种写法在php5.4之前是不支持的 strcasecmp(a,b);如果ab就返回0&#xff0c;如果第一个大于第二个就返回1&#xff0c;否则返回-1 array_push…

c程序

题目&#xff1a;一个数如果恰好等于它的因子之和&#xff0c;这个数就称为“完数”。例如61&#xff0b;2&#xff0b;3.编程找出1000以内的所有完数。1. 程序分析&#xff1a;请参照程序<--上页程序14.2.程序源代码&#xff1a; #include "stdio.h" #include &q…

数据有序_Redis实战(3)-数据结构List实战一之商品信息的有序存储

摘要电商平台的管理后端一般有两大角色的用户可以使用&#xff0c;一个是系统管理员&#xff0c;一个是平台的卖家/商家&#xff0c;对于商家而言&#xff0c;管理自个儿的商品是日常工作中再为普通不过的事情了&#xff0c;本文我们将以"有序存储并展示电商平台中商家上传…

关于asp.net利用mono部署到Linux上的一些说明

linuxdot.net社区群&#xff1a;102732979&#xff08;如果你认为你已经在.NET跨平台方面有足够的经验&#xff0c;请参加这个群&#xff1a;103810355&#xff09;。 其中有各种大神&#xff0c;嘿嘿&#xff0c;如果你有问题可以来咨询&#xff0c;完全无偿的免费的。 mono的…

c单链表

#include <stdio.h>#include <stdlib.h>#define T 1#define F -1typedef int Type;struct Node{Type value;struct Node *next;};int init(struct Node **head); //初始化int insert_head(struct Node *head, Type value); // 头插法int in…

和redis_Redis 缓存

使用场景#Redis 通常用作web应用的内存缓存&#xff0c;和Django&#xff0c;Ruby-on-Rails&#xff0c;Node.js以及Flask框架结合Redis在存储新的数据的过程中可以清除陈旧的数据。Redis使用Less Recently Used(LRU)策略,可以为每个健设置过期时间Redis 存储指标数据用于量化网…

你好,C++(34)有一只叫做多利的羊 6.2.4 拷贝构造函数

6.2.4 拷贝构造函数 在C世界中&#xff0c;除了需要使用构造函数直接创建一个新的对象之外&#xff0c;有时还需要根据已经存在的某个对象创建它的一个副本&#xff0c;就像那只叫做多利的羊一样&#xff0c;我们希望根据一只羊创建出来另外一只一模一样的羊。例如&#xff1a…