#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
int main()
{
char*getstr(void);
voidconcatenatc(char *s1,char *s2,char * s3);
char*s1,*s2,*s3;
printf("Please input String1:\n");
s1 =getstr();
printf("Please input String2:\n");
s2 =getstr();
s3 = (char*)malloc(sizeof(char)*(strlen(s1)+strlen(s2)));//要先分配地址才能使用。
concatenatc(s1,s2,s3);/
printf("Thenew string is:%s",s3);
return 0;
}
void concatenatc(char *s1,char *s2,char * s3)//字符拼接
{
int i = 0,j= 0;
for(i =0;s1[i]!='\0';i++)
{
s3[i] = s1[i];
}
for(j =0;s2[j]!='\0';j++)
{
s3[i+j] = s2[j];
}
s3[i+j] ='\0';
}
char * getstr(void)
{
char c,*str=NULL;
int n=0;
while (1)
{
c=getchar();
str=(char*)str?realloc(str,sizeof(char)*++n):malloc(sizeof(char)*++n);
if (c=='\n'||c==EOF)
{
str[n-1]='\0';
break;
}//if
str[n-1]=c;
}
return str;
}