模拟字符串函数(1)

(一)strcpy

首先我们来了解该函数的使用方式

       最简单的理解就是“复制粘贴”,比如现在有一个数组arr1,存放着 hello ;还有一个数组arr2,存放着 boy ;那么使用该函数之后,形如 strcpy(arr1,arr2)之后,打印出的arr1就会是boy   (需要注意的是在这个过程中是将arr2中的字符串完全复制到arr1中,包括 \0 )

   先来看代码:

#include<stdio.h>
void my_strcpy(char* pa,char* pb)//使用指针分别指向arr1和arr2
{
   while(*pb!='\0')//使用循环,当指向arr2的\0的时候停止
   {
      *pa++ = *pb++; //替换
   }
   *pa = *pb;//最后将arr2中的'\0'也复制到arr1中
}
int main()
{
  char arr1[20]="hello";//定义两个字符数组
  char arr2[20]="boy";
  my_strcpy(arr1,arr2);//这里自定义一个函数用来实现strcpy函数的功能
  printf("%s\n",arr1);
  return 0;
}

使用指针是很方便的方法,具体的意思可以看下图理解!

图中最上面的四个红色箭头意思是 依次往下指

(二)stract

我们先来了解该函数的使用方式

       简单的去理解就是“追加”,意思就是将一个字符串连接在另一个后面,'\0'也会追加

代码如下(请读者依据上述方式自行在草稿本上推演具体原理)

#include<stdio.h>
void my_stract(char* pa,char* pb)//使用指针分别指向arr1和arr2
{
   while(*pa!='\0')//使用循环
   {
      *pa++; //首先让指针pa指向arr1的最后一个字符即'\0'
   }
   while(*pb!='\0')//使用循环,当指向arr2的\0的时候停止
   {
      *pa++ = *pb++; //替换
   }
   *pa = *pb;//最后将arr2中的'\0'也追加到arr1中
}
int main()
{
  char arr1[20]="hello";//定义两个字符数组
  char arr2[20]="boy";
  my_stract(arr1,arr2);//这里自定义一个函数用来实现stract函数的功能
  printf("%s\n",arr1);
  return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值