#include<stdio.h>
#include<assert.h>
char my_strcat(char *dest ,char * src)
{
assert((*dest!=NULL)&&(*src!=NULL));// 断言 以防输入的数据非法
while(*dest!='\0')
{
dest++;
}
while(*src!='\0')
{
*dest=*src;
dest++;
src++;
}
return *dest;
}
int main()
{
char a[30]=""; //此处a为空,数据类型非法,运行时出错
char b[30]="hijklmn";
my_strcat(a,b);
printf("%s\n",a);
return 0;
}
#include<stdio.h>
#include<assert.h>
char my_strcat(char *dest ,char * src)
{
assert((*dest!=NULL)&&(*src!=NULL));// 断言 以防输入的数据非法
while(*dest!='\0')
{
dest++;
}
while(*src!='\0')
{
*dest=*src;
dest++;
src++;
}
return *dest;
}
int main()
{
char a[30]="abcdefg";
char b[30]="hijklmn";
my_strcat(a,b);
printf("%s\n",a);
return 0;
}
此为正确结果: