原型如下:
char *my_strcat(char *dst,char const *src)
思想:函数要求dst参数已经包含了一个字符串,找到这个字符串的末尾,并把src字符串添加到这个位置。
要求:1.dst参数指向的字符串至少是一个空字符串;
2.必须保证目标字符数组剩余的空间足以保存整个源字符串;
3.函数返回第一个参数的一份拷贝,即一个指向目标字符数组的一个指针。
代码如下:
#include<stdio.h>
#include<string.h>
#include<assert.h>
char *my_strcat(char *dst,char const *src)
{
char * ret=dst;
assert(dst);//assert((dst !=NULL)&&(src != NULL));
assert(src);//对源地址和目的地址进行非空断言
while(*dst !='\0')
{
dst++;
}
/*while(*dst++=*src++)
{
NULL;
}*/
while(*dst=*src)
{
dst++;
src++;
}//此处加语句*dst='\0' 没有必要
return ret;
}
int main()
{
char arr[50]="where there is a will,";
char *a ="there is a way.";
printf("%s\n ",my_strcat(arr,a));
getchar();
return 0;
}
运行结果: