C语言程序问题请教高手

来源:百度知道 编辑:UC知道 时间:2024/05/22 01:24:18
#define NULL 0 //定义符号常量NULL
#define LENG sizeof(struct Lnode) //结点所占的单元数
struct Lnode //定义结点类型
{ int data; //data为整型
struct node *next; //next为指针类型
};
struct Lnode *creat1( )
{ struct Lnode *head,*tail,*p; //变量说明
int e;
head=(struct Lnode *)malloc(LENG); //生成表头结点
tail=head; //尾指针指向表头
do{ p=(struct Lnode *)malloc(LENG);//生成新结点
scanf(“%d”,&e); //输入一个数
p->data=e; //装入输入的元素e
tail->next=p; //新结点链接到表尾
tail=p; //尾指针指向新结点
}
while (e!=0); //不为0
tail->next=NULL; //尾结点的next置为空指针
return head; //返回头指针
}
void link_1ist (struct node *p )
{ whi1e (P->next! = NULL )

{ printf(“%c”, p->data );
p = p->next;}
printf(“\n”);
}
int ListLength_L (LinkList L, int

#include<stdio.h>
#include<malloc.h>
typedef struct Lnode //定义结点类型
{
int data; //data为整型
struct Lnode *next; //next为指针类型
}*ListNode;
void creat1(ListNode* L )
{
struct Lnode *head,*tail,*p; //变量说明
int e;
head=NULL;
tail=NULL;
p=NULL;
scanf("%d",&e);
if(!e){*L=NULL;return;}
head=(struct Lnode *)malloc(sizeof(struct Lnode)); //生成表头结点
if(!head)return;//申请内存没有成功
head->next=NULL;
tail=head; //尾指针指向表头
head->data=e;
do{
scanf("%d",&e); //输入一个数
if(!e)
{
*L=head;
return;
}
p=(struct Lnode *)malloc(sizeof(struct Lnode));//生成新结点
if(!p)return;
p->next=NULL;
p->data=e; //装入输入的元素e
tail->next=p; //新结点链接到表尾
tail=p; //尾指针指向新结点
} while (1);//不为0
*L=head; //返回头指针
}
void link_1ist (struct Lnode *p )
{