当前位置: 首页 > article >正文

strcpy的模拟实现(c基础)

  hi , I am 36.

适合对象c语言初学者

strcpy是一个实现字符串赋值的函数。

基本格式

#include<string.h>

strcpy(n2,n1)

功能把n1长度的值赋值给n2.

链接

如何模拟实现呢

首先明确My__strcpy();需要返回值,返回arr2的起始地址

于是char* My__strcpy();

要实现赋值功能,需要有两个字符串数组

于是char* My__strcpy(char arr2[], char arr1[]);

其中arr2需要被赋值

所以使用时需传递n2地址给arr2,n1地址给arr1

n2 , n1 即地址    链接分享一下arr的意义(c基础)-CSDN博客

思路

结果

代码

#include<stdio.h>

//模拟strcpy功能
char* My__strcpy(char arr2[], char arr1[])
{
	
	//思路:用递归  采用一一赋值,若未结束地址加一继续赋值
	
	if (*arr1 != '\0')//判断此时arr1是否结束
	{
		//若不是赋值给arr2
		*arr2 = *arr1;
		//继续调用,继续赋值
		My__strcpy(arr2 + 1, arr1 + 1);
	}
	else//完美实现了strcpy的特性:非复制,而是把arr1长度的值赋值给arr2
	{
		*arr2 = '\0';
	}
        return arr2;
}



int main()
{

	char n1[20] = "hi , I am 36!";
	char n2[20] = { 0 };

	

	printf("%s", My__strcpy(n2,n1););

	return 0;
}

若对数组不熟悉

请看介绍一下数组(c基础)(详细版)-CSDN博客

分享一下arr的意义(c基础)-CSDN博客

hi  , I  am 36. thanks for your looking.👍👍👍

拓展


http://www.kler.cn/a/403378.html

相关文章:

  • 多算法模型(BI-LSTM GRU Mamba ekan xgboost)实现功率预测
  • Ubuntu安装Electron环境
  • 【前端知识】nodejs项目配置package.json深入解读
  • Oracle 19C 安装RAC磁盘投票失败
  • nacos镜像启动时候报Public Key Retrieval is not allowed
  • Android ROM开发 编译阶段设置预置文件或者文件夹的权限
  • XLNet——打破 BERT 局限的预训练语言模型
  • Linux进阶:软件安装、网络操作、端口、进程等
  • java 客户端、服务端聊天系统 文字交流 (多线程)
  • 【C++ 算法进阶】算法提升十七
  • 爬取网易云音乐热歌榜:从入门到实战
  • 『云产品最佳实践』MySQL 搭建操作指南
  • 【LeetCode面试150】——1两数之和
  • android 动画原理分析
  • “Kafka面试攻略:核心问题与高效回答”
  • 【Rabbitmq篇】RabbitMQ⾼级特性----消息确认
  • 百度智能云千帆大模型平台引领企业创新增长
  • 数组作为函数参数--选择排序
  • 杰发科技AC7801——ADC定时器触发的简单使用
  • debian下查看端口号命令
  • MATLAB绘图基础11:3D图形绘制
  • GetVolumeInformation函数使用记录
  • Flutter:TweenAnimationBuilder自定义隐式动画
  • Telegram bot Mini-App开发实践---Telegram简单介绍与初始化小程序获取window.Telegram.WebApp对象并解析
  • 解读缓存问题的技术旅程
  • 利用Python爬虫获取淘宝店铺详情