模拟实现strcat函数

来源:互联网 发布:明阳智慧能源知乎 编辑:程序博客网 时间:2024/05/18 01:26


#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
原创粉丝点击