你应该知道的C语言干货(3)(strcat和strcmp的模拟实现)

这篇具有很好参考价值的文章主要介绍了你应该知道的C语言干货(3)(strcat和strcmp的模拟实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 我们知道包含string.h头文件后,就可以使用strcat和strcmp这两个库函数,strcat是用来连接两个字符串的,strcmp是比较两个字符串的大小,接下来我们将模拟实现他们。

目录

#strcat的模拟实现

#strcmp的模拟实现 

#下期预告:文章来源地址https://www.toymoban.com/news/detail-542504.html


#strcat的模拟实现

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <assert.h>

char *my_strcat(char *str1,const char* str2)
{

	assert(str1 && str2);
	while (*str1 != '\0')
	{
		str1++;
	}
	while (*str2 != '\0')
	{
		*str1 = *str2;
		str1++;
		str2++;
	}
	*str1 = '\0';        //别忘了补\0

	return str1;         //这里要有返回值,不然会报错,因为
                         //我们定义的就有返回值,模拟的是库函数

}
int main()
{

	char str1[20] = "hello ";
	char str2[] = "world!";
	my_strcat(str1, str2);
	printf("str1 = %s", str1);

	return 0;
}

#strcmp的模拟实现 

#include <stdio.h>
#include <assert.h>    

int my_strcmp(const char* str1, const char* str2)
{
	assert(str1 && str2);   //断言,如果不符合括号里的条件,停止运行并报错
	while (*str1 && *str2 && (*str1 == *str2))
	{
		str1++;
		str2++;
	}
	return *str1 - *str2;
}

int main()
{

	char str1[] = "a ha ha~";
	char str2[] = "a ha ha~";
	int ret = my_strcmp(str1, str2);

	if (ret > 0)
		printf("大于\n");
	else if (ret < 0)
		printf("小于\n");
	else
		printf("等于\n");

	return 0;
}

#下期预告:

strncpy
strncat
strncmp
strstr
strtok

到了这里,关于你应该知道的C语言干货(3)(strcat和strcmp的模拟实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【C++干货铺】list的使用 | 模拟实现

    【C++干货铺】list的使用 | 模拟实现

    ========================================================================= 个人主页点击直达: 小白不是程序媛 C++专栏: C++干货铺 代码仓库: Gitee ========================================================================= 目录 list的介绍及使用 list的介绍 list的使用 list的构造 list迭代器的使用 list的增删查改

    2024年02月04日
    浏览(13)
  • C语言strcat函数再学习

    C语言strcat函数再学习

    之前学习了strcat函数;下面继续学习此函数; 它的功能描述是, 功能 把src所指向的字符串(包括“\\0”)复制到dest所指向的字符串后面(删除*dest原来末尾的“\\0”)。要保证*dest足够长,以容纳被复制进来的*src。*src中原有的字符不变。返回指向dest的指针。 说明 src和dest所

    2024年02月05日
    浏览(10)
  • C语言--strcmp ,stmcmp(比较)

    两个字符串进行比较,相等为0 字符串比较 strcmp 原型int strcmp(const char s1,const char s2) 若str1=str2,则返回零; 若str1str2,则返回负数; 若str1str2,则返回正数 strncmp 原型int strncmp(const char s1,const char s2,size_t n) 功能是把str1和str2进行比较,最多比较前n个字节。 若str1和str2的前n个字符相

    2024年02月14日
    浏览(19)
  • k8s~你应该知道的ip和你应该知道的端口

    k8s~你应该知道的ip和你应该知道的端口

    Node IP Cluster IP Pod IP Container IP node ip是指k8s节点的ip地址,这个ip是具体的服务器,它上面的端口是node port,是真实服务器上的端口。 在 Kubernetes 中,ClusterIP 是指 Service 类型中的一种,它为集群内部的其他资源提供了一个虚拟 IP 地址。这个虚拟 IP 只在集群内部可见,用于将请

    2024年02月04日
    浏览(8)
  • c语言练习41:深入理解字符串函数strlen strcpy strcat

    c语言练习41:深入理解字符串函数strlen strcpy strcat

    模拟实现:”strlen   strcpy   strcat strlen   strcat:

    2024年02月09日
    浏览(11)
  • 关于ElasticSearch,你应该知道的

    一、集群规划优化实践 1、基于目标数据量规划集群 在业务初期,经常被问到的问题,要几个节点的集群,内存、CPU要多大,要不要SSD? 最主要的考虑点是:你的目标存储数据量是多大?可以针对目标数据量反推节点多少。 2、要留出容量Buffer 注意:Elasticsearch有三个警戒水

    2024年01月23日
    浏览(5)
  • 【技术干货】测试必须知道的精准测试

    【技术干货】测试必须知道的精准测试

        目前说到测试提效,基本上想到的都是自动化测试。然而,不管是手工测试还是自动化测试,都存在下面的问题,即每一次版本更新时,我们不确定这些更新到底影响范围有多大,无法精准地评估出测试范围,所以不得不执行完整的全回归测试,就算是自动化测试,执

    2023年04月19日
    浏览(11)
  • 【算法】关于排序你应该知道的一切(下)

    【算法】关于排序你应该知道的一切(下)

    和光同尘_我的个人主页 单程孤舟,出云入霞,如歌如吟。 --门孔 啊还是国庆快乐!上节介绍了较为简单的插入排序、选择排序,今天我们上强度,学习交换排序、归并排序还有计数排序,开冲😎 2.1.1. 基本思想 关于冒泡排序我们在C语言的学习中就有涉及 依次比较序列中相

    2024年02月07日
    浏览(12)
  • 【C++】关于多线程,你应该知道这些

    【C++】关于多线程,你应该知道这些

    thread类的简单介绍 在 C++11 之前,涉及到多线程问题,都是和平台相关的,比如 Windows 和 Linux 下各有自己的接口,这使得代码的可移植性比较差。C++11 中最重要的特性就是对线程进行支持了,使得 C++ 在并行编程时不需要依赖第三方库,而且在原子操作中还引入了原子类的概

    2023年04月15日
    浏览(23)
  • 12个你应该知道的Python库

    ##这篇博客将介绍12个酷酷的python库。 pip install begins pip install colorama Python 中最流行的图表绘制库是 matplotlib,很棒的替代品 pyqtgraph。Pyqtgraph 不是 matplotlib 的一对一替代品;相反,它提供了不同的功能选择,尤其适用于实时和交互式可视化。 pip install pyqtgraph python -m pyqtgraph.

    2023年04月22日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包