一起养成写作习惯!这是我参与「掘金日新计划 · 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()函数有一个更深层次的了解。赶紧打开你的编译器让我们来快乐的做题吧~