#include<stdio.h>
#include<assert.h>
char *my_strcat(char *str,const char *ptr)
{
char *temp=str;
assert(str);
assert(ptr);
while(*str!='\0')
{
str++;
}
while(ptr!='\0')
{
*str=*ptr;
str++;
ptr++;
}
*str='\0';
return temp;
}
int main()
{
char a[10]="i am ";
char b[10]="happy";
printf("%s\n",my_strcat(a,b));
return 0;
}
但是如果把两个相同的字符连在一起,程序就会崩溃,因为在第二个while循环‘\0’会找不到,没有循环终止条件,所以应该用strncat.