试编一程序,利用指针实现任意两个字符串的连接(要求将第二个字符串连接到第一个字符串的末尾)。

2024-11-20 23:16:43
推荐回答(1个)
回答1:

char *combine(char *p1,char *p2)
{
int num1=0,num2=0,i;
char *p3; //返回的字符指针,函数中还充当中转
p3=p1; //
while ( *p1++ != '\0' )
num1++; //第一个字符串的长度
p1=p3;
p3=p2;
while(*p2++!='\0')
num2++; //第二个字符串的长度
p2=p3;
p3=(char *)malloc((num1+num2+1)*sizeof(char));
for (i=0;i *(p3+i)=*(p1+i);
for (i=0;i *(p3+num1+i)=*(p2+i);
*(p3+num2+num1)='\0'; //字符串后+\0
return p3;
}
直接调用行了,其实string.h中有这个函数strcat(str1,str2);