主题:为什么会有漏项问题?
#include<stdio.h>
#include<stdlib.h>
#define LEN sizeof(struct JD)
struct JD
{
float x;
int c;
struct JD *next;
};
struct JD *H,*G;
struct JD*creat(void)
{
struct JD *A,*L,*M;
printf("输入链表1的数据以0结尾\n");
L=(struct JD*) malloc(LEN);
if(!L) printf("error");
A=L;M=L;
scanf("%f\n%d",&L->x,&L->c);
L->next=(struct JD*)malloc(LEN);
if(!L->next) printf("error");
L=L->next;
scanf("%f\n%d",&L->x,&L->c);
while(L->x!=0)
{
L->next=(struct JD*)malloc(LEN);
if(!L->next) printf("error");
L=L->next;
M=M->next;
scanf("%f\n%d",&L->x,&L->c);
}
M->next=NULL;
return(A);
}
struct JD*creat1(void)
{
struct JD *B,*L1,*M1;
printf("输入链表2的数据以0结尾\n");
L1=(struct JD*) malloc(LEN);
if(!L1) printf("error");
B=L1;M1=L1;
scanf("%f\n%d",&L1->x,&L1->c);
L1->next=(struct JD*)malloc(LEN);
if(!L1->next) printf("error");
L1=L1->next;
scanf("%f\n%d",&L1->x,&L1->c);
while(L1->x!=0)
{
L1->next=(struct JD*)malloc(LEN);
if(!L1->next) printf("error");
L1=L1->next;
M1=M1->next;
scanf("%f\n%d",&L1->x,&L1->c);
}
M1->next=NULL;
return(B);
}
#include<stdlib.h>
#define LEN sizeof(struct JD)
struct JD
{
float x;
int c;
struct JD *next;
};
struct JD *H,*G;
struct JD*creat(void)
{
struct JD *A,*L,*M;
printf("输入链表1的数据以0结尾\n");
L=(struct JD*) malloc(LEN);
if(!L) printf("error");
A=L;M=L;
scanf("%f\n%d",&L->x,&L->c);
L->next=(struct JD*)malloc(LEN);
if(!L->next) printf("error");
L=L->next;
scanf("%f\n%d",&L->x,&L->c);
while(L->x!=0)
{
L->next=(struct JD*)malloc(LEN);
if(!L->next) printf("error");
L=L->next;
M=M->next;
scanf("%f\n%d",&L->x,&L->c);
}
M->next=NULL;
return(A);
}
struct JD*creat1(void)
{
struct JD *B,*L1,*M1;
printf("输入链表2的数据以0结尾\n");
L1=(struct JD*) malloc(LEN);
if(!L1) printf("error");
B=L1;M1=L1;
scanf("%f\n%d",&L1->x,&L1->c);
L1->next=(struct JD*)malloc(LEN);
if(!L1->next) printf("error");
L1=L1->next;
scanf("%f\n%d",&L1->x,&L1->c);
while(L1->x!=0)
{
L1->next=(struct JD*)malloc(LEN);
if(!L1->next) printf("error");
L1=L1->next;
M1=M1->next;
scanf("%f\n%d",&L1->x,&L1->c);
}
M1->next=NULL;
return(B);
}