【C语言】第四十六题→创建自定义函数,从而实现strcat()的功能​​​​​​​。

78 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第28天,点击查看活动详情

🚀write in front🚀

🔎大家好,我是泽奀,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝
✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩
💬总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🖊

前言

今天开始刷C语言的第四十六题,开始今天的快乐刷题吧刷题(@^0^)

题目描述

创建自定义函数,从而实现strcat()的功能​​​​​​​。

题目分析

首先在实现这道题目的时候,我们首先要知道 strcat() 函数的一个基本信息。

让我们先看看 strcat() 函数的函数声明方式如下↓

char *strcat(char *dest, const char *src)

将源字符串的副本追加到目标字符串。
dest → 指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串。
src → 指向要追加的字符串,该字符串不会覆盖目标字符串。
该函数返回一个指向最终的目标字符串 dest 的指针。
src 所指向的字符串追加到 dest 所指向的字符串的结尾。
以上就是 strcat() 函数的一个基本信息,相信当我们知道这些就可以很好的解决这道题目☆⌒(*^-゜)v THX!!

题目代码

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<assert.h>
char *My_strcat(char *dest, const char *src)
{
	assert(dest && src != NULL);//断言
	char *ret = dest;
	while (*dest != '\0')//'\0'的ASCLL码值就是0
	{
		dest++;
	}
    //dest指向的是'\0'
	while (*dest++ = *src++)
	{
		;
	}
	return ret;
}
int main(void)
{
	char arr1[20] = "hello C";
 	char arr2[20] = "yuyan";
	printf("%s\n", My_strcat(arr1, arr2));
	return 0;
}

运行结果

**🖊运行结果如下↓
**hello Cyuyan

最后

这道题目其实我们只需要知道strcat() 函数的一个使用还是能够很好做出来的,之所以做这些创建函数实现自定义字符函数的使用实际上也是可以本身帮我们很好的去了解它自身内部是如何实现以及更好的去使用它。