#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;
}
链接完成后,两个字符串之间没有空格。