/*
96 85 74 15 35
96 85 74 15 35
Press any key to continue
*./
#include
#include
typedef struct ele{
int num;
}Ele;
typedef struct node {
Ele data;
struct node *next;
}ListNode,*LinkList;
LinkList Create(int n) {
ListNode *head,*p;
int i;
head = p = (ListNode *)malloc(sizeof(ListNode));
for(i = 0;i < n;i++) {
p->next = (ListNode *)malloc(sizeof(ListNode));
scanf("%d",&p->next->data.num);
p = p->next;
}
p->next = NULL;
return head;
}
void ShowList(LinkList head) {
ListNode *p = head->next;
while(p) {
printf("%d ",p->data.num);
p = p->next;
}
printf("\n");
}
void FreeList(LinkList head) {
ListNode *q,*p = head;
while(p) {
q = p->next;
free(p);
p = q;
}
}
int main() {
int n = 5;
LinkList head = Create(n);
ShowList(head);
FreeList(head);
return 0;
}
你只给Pa的next赋值了,没有给pa的data赋值啊。
你读取的数据放在了e.num中,可是e.num和Pa毛关系都没有的。
读取数据后,增加一句Pa->data.num=e.num;就可以了