#include<stdlib.h>
typedef struct node
{
int data;
struct node *next;
}node;
void count(node* l)//計算節點個數,輸出所有值
{
int n = 0;
node* p = l->next;
while(p)
{
printf("%d ",p->data);
p = p->next;
n++;
}
printf("\n%d\n",n);
}
int main()
{
int e;
//頭節點
node *head,*p,*q;
head = (node*)malloc(sizeof(node));
head->next = NULL;
p = head;
printf("輸入元素,回車結束:");
do{
scanf("%d",&e);
q = (node*)malloc(sizeof(node));
q->data = e;
q->next = NULL;
p->next = q;
p = q;
}while(getchar()!='\n');
count(head);
return 0;
}