background image

free(str1);
str1=NULL;//杜绝野指针
}

p=head; 
q=p->next; 
while(q!=NULL) 

temp=q->next; 
q->next=p; 
p=q; 
q=temp; 

这样增加个辅助的指针就行乐。

ok 

 

通过编译的代码:

#include <stdio.h> 
#include <ctype.h> 
#include <stdlib.h> 

typedef struct List{ 
int data; 
struct List *next; 
}List; 

List *list_create(void) 

struct List *head,*tail,*p; 
int e; 
head=(List *)malloc(sizeof(List)); 
tail=head; 
printf("\nList Create,input numbers(end of 0):"); 
scanf("%d",&e); 
while(e){ 
p=(List *)malloc(sizeof(List)); 
p->data=e; 
tail->next=p; 
tail=p; 
scanf("%d",&e);} 

tail->next=NULL; 
return head;