实现功能:实现char * my_strcat(char * dest,char *src)函数,将src指向的字符串追加到dest指向字符串的后面
#include <stdio.h>
#include <assert.h>
char * my_strcat(char *dst,char *src)
{
char * ret = dst;
assert(dst != NULL && src != NULL);
while(*dst != '\0')
{
dst++;
}
while(*src != '\0')
{
*dst++ = *src++;
}
*dst = '\0';
return ret;
}
int main ()
{
char a[] = "hello";
char *p = "bit";
printf("%s\n",my_strcat(a,p));
return 0;
}
实现结果如下:
这样很容的实现了字符串的追加,但是如果不给char a[ ]指定大小,会出现一个问题,
如果追加的字符串过长,那么将其放在未知大小的char a[ ]里会使程序崩溃,如下:
解决这个问题很简单,只需要给char a[ ]给定大小,或者开辟动态内存,例如char a[ 100 ] , 改动之后,就可以正常运行了