//eg:将double和fly两个字符窜的链接;我是用指针完成的,本来应该重新申请数组空间完成;
#include"stdio.h"
#include"stdlib.h"
struct len
{
char a;
len * next;
};
len* string_link(char str1[], char str2[]);
void main()
{
len *c;
char a[10]="double",b[10]="fly";
c=string_link(a,b);
while(c->next)
{
printf("%c",c->a);
c=c->next;
}
}
len* string_link(char str1[],char str2[])
{
int i,j;
len *p,*head,*q;
head=p=(len *)malloc(sizeof(len));
p->next=NULL;
for(i=0;;i++)
{
p->a=str1[i];
q=(len *)malloc(sizeof(len));
p->next=q;
q->next=NULL;
p=p->next;
if(str1[i+1]=='\0')
{
for(j=0;str2[j]!='\0';j++)
{
p->a=str2[j];
q=(len *)malloc(sizeof(len));
p->next=q;
q->next=NULL;
p=p->next;
}
p->a='\0';
break;
}
}
return head;
}