模拟实现strcat函数


#include<stdio.h>

#include<assert.h> 

 

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

 //学会用const保护参数

   {
    assert(*dest!=NULL);

    assert(*src!=NULL);

 //assert判断*dest与*src是不是为空,若为空,以下程序则不再执行。

    char*tmp=dest;

   //建立一个指针变量保存原指针的地址

    while(*dest)
    {
    dest++;
}
while(*dest++=*src++)
{
 ;
}

return tmp;

//dest一直在++,最后变成‘\0’,所以返回时要注意不能再返回dest(return dest)

   }
 int main()
  {

  char arr[20]="Hello";

 //定义时一定要注意空间问题,原数组空间一定要大于等于拷贝后的空间,不然可能会造成越界。

  char arr2[]="bit";
  char *tmp=my_strcat(arr,arr2);
  printf("%s",tmp);

  return 0;

}

链接完成后,两个字符串之间没有空格。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值