#include <stdio.h>
#include <stdlib.h>
struct Test
{
int data;
struct Test *next;
};
void printflink(struct Test *head)
{
struct Test *p=head;
while(p != NULL){
printf("%d ",p->data);
p=p->next;
}
putchar('\n');
}
struct Test *sf(struct Test *head,struct Test *new)//第一种函数分装
{
struct Test *p=head;
if(p == NULL){
head=new;
return head;
}
new->next=head;
head=new;
return head;
}
struct Test *dtc(struct Test *head) //第二种
{
struct Test *p=head;
struct Test *new=NULL;
while(1){
new=(struct Test *)malloc(sizeof(struct Test));
printf("please your number\n");
scanf("%d",&(new->data));
if(new->data == 0){
free(new);
return head;
}
if(p == NULL){
p=head=new;
}else{
new->next=head;
head=new;
}
// head=sf(head,new);
}
}
int main()
{
struct Test *head=NULL;
head=dtc(head);
printflink(head);
return 0;
}