高手请进。。。。
#include<stdio.h>
#include<malloc.h>
struct num
{
int i;
int j;
struct num *next;
};
void main()
{
char a[20],b[20];
int sum(int y[],int k);
struct num *p1,*p2,*p3,*g1,*g2,g3,*t,q1,q2,q3;
int i=0,k=0,flag=0;
void getdata(char a[],struct num *p);
p1=&q1;
p2=&q2;
p3=&q3;
p1->next=NULL;
p2->next=NULL;
p3->next=NULL;
g1=p1;
g2=p2;
g3=p3;
gets(a);
gets(b);
getdata(a,p1);
getdata(b,p2);
void getdata(char a[],struct num *p1)
{
int sum(int y[],int k);
int c[6],i=0,k=0,flag=0;
struct num *q1;
while(a[i]!='\0')
{
if(a[i]>=48&&a[i]<=57)
{
c[k]=a[i]-48;
k++;
}
if((a[i]<48||a[i]>57)&&k!=0)
{
if(flag%2==0)
{
p1->j=sum(c,k);
k=0;
}
else
{
p1->i=sum(c,k);
k=0;
q1=(struct num*)malloc(sizeof(struct num));
q1->next=NULL;
p1->next=q1;
p1=q1;
}
flag++;
}
i++;
}
if(a[i]=='\0'&&k!=0)
{
p1->i=sum(c,k);
}
q1=(struct num*)malloc(sizeof(struct num));
q1->next=NULL;
p1->next=q1;
p1=q1;
}
int sum(int y[],int k)
{
int i,j,sum1=0;
for(i=0;i<k;i++)
for(j=i;j<k-1;j++)
{
y[i]=y[i]*10;
}
for(i=0;i<k;i++)
sum1=sum1+y[i];
return (sum1);
}
没有写 2个链表的相加。。。高手请指教。。帮忙写一段。。。