strcpy的模拟实现(拷贝)!!

一:strcpy的模拟实现(拷贝)

1:算法思想
  • (1).首先确保目标字符串要足够长,要确保原字符串中的字符能够储存在目标字符串中。
  • (2).将原字符串中的字符赋给与目标字符串中下标相同的元素。
  • (3).需要注意的是必须将原字符串的’\0’也要赋给目标字符串,将目标字符串“截断”。以确保输出拷贝结果时不会出现乱码。(因为目标字符串长度远大于原字符串,若不将其“截断”就会将后续的字符也打印出来而后续字符都是空的)
#include<stdio.h>
#include<string.h>  
void Mystrcpy(char arr[],char brr[] , int sz )            //模拟实现strcpy(拷贝)
{
	int i=0;
	for(;i<=sz;i++)                   //这里的 i 取值范围可以等于 sz 目的就是将'\0'赋值到目标字符串中
	{
		arr[i]=brr[i];
	} 
}
int main()
{
	char arr[100];
	char brr[]="I am a student.";
	int sz=strlen(brr);
	printf("%d\n",sz);       //打印出brr的字符串长度
	Mystrcpy(arr,brr,sz);
	printf("%s\n",arr);
	return 0;
}
2.监视结果

在这里插入图片描述
在这里插入图片描述

3.运行结果

在这里插入图片描述

二.strcpy的调用

1.代码
#include<stdio.h>
#include<string.h>
int main()
{
	char arr[100];
	char brr[]="I am a student.";
	strcpy(arr,brr);
	printf("%s\n",arr);
	return 0;
}
2.监视结果

在这里插入图片描述
在这里插入图片描述

3.运行结果

在这里插入图片描述

由模拟实现的strcpy与调用的strcpy运行的监视结果来看模拟实现的strcpy完全和strcpy调用过程相同说明我的程序达到了模拟实现的效果。若有不足和改进之处还请浏览者留下你的改进思想

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值