#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef struct LNode
{
char data[100];
struct LNode *next;
}LNode,*LinkList;
//在链表末尾增加新的节点,新节点数据域为data
void ListInsert(LinkList* L,char *data)
{
LinkList temp=*L;
LinkList p=(LinkList)malloc(sizeof(LNode));
strcpy(p->data,data);
//strcpy(p->data,*data),这样是有问题的,只有第一个元素
p->next=NULL;
//if、else着重再想想!!!!!!!!!!!!!!!
if(*L==NULL)
*L=p;
else
{
while(temp->next!=NULL)
{
temp=temp->next;
}
temp->next=p;
}
}
//链表数据的输入
void ScanData(LinkList L)
{
char data[100];
int count=0;
int num=5;
while(count<num)
{
gets(data);
ListInsert(&L,data);
}
}
int main(void)
{
LinkList h=(LinkList)malloc(sizeof(LNode));
ScanData(h);
return 0;
}
while(count<num)
{
gets(data);
ListInsert(&L,data);
count++; -- 少了这句,就是死循环