【C语言】第四十八题→创建自定义函数,实现字符串函数strcpy()

165 阅读2分钟

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

🚀write in front🚀

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

前言

今天开始C语言的第四十八题,离五十题还差两题,坚持下来~就是胜利✌经过不断的刷题,越发感觉到了刷题带来自身对逻辑思维的一个能力的提升,所以·刷题是一定要坚持下来的。

题目描述

创建自定义函数,实现字符串函数strcpy()

题目解析

​做这种创建字符串函数实现它的功能,首先我们必须要了解我们所创建自定义函数的功能才行,这样有利于我们更好的实现。

strcpy() 函数的声明方式如下

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

src 所指向的字符串复制到 dest。

需要注意的是如果目标数组 dest 不够大,而源字符串的长度又太长,可能会造成缓冲溢出的情况。所以,dest 一定要足够大,这样才能被 src 给存放的下去。

dest****→ 指向用于存储复制内容的目标数组。

src****→ 要复制的字符串。

该函数返回一个指向最终的目标字符串 dest 的指针。

**strcpy()**在原来字符要保证拥有 src 存在字符的空间大小也就是下标。

注意:这里的返回值的指针类型可以是 void 也可以是 char *

题目代码​

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <assert.h>
void my_strcpy(char* str1, char* str2)
{
	assert(str1 && str2 != NULL);//断言!

	//把字符串str2赋值给str1,遇到'\0'结束。
	while (*str2 != '\0')
	{
		*str1++ = *str2++;
	}
}
int main(void)
{
	char str[20] = { 0 };
	char p[20] = { 0 };
	printf("请输入字符串->:");
	scanf("%s", str);
	my_strcpy(p, str);
	printf("ptr = %s\n",p);
	return 0;
}

运行结果

请输入字符串->:C语言yyds!

ptr = C语言yyds!

最后

相信当你做完这道题目的时候会对strcpy()函数有一个更深层次的了解。赶紧打开你的编译器让我们来快乐的做题吧~