一个链表的问题,自己编的程序,看不出哪错了,请各位帮帮忙!
#include<stdio.h>#include<stdlib.h>
#define LEN sizeof(struct gra)
struct gra
{
int x;
int y;
struct gra *next;
};
struct gra * ini(void)
{
struct gra *head;
head=(struct gra *)malloc(LEN);
return head;
}
void put(int x,int y,struct gra *p)
{
struct gra *q;
q=(struct gra *)malloc(LEN);
q->x=x;
q->y=y;
p->next=q;
p=q;
}
void main()
{
struct gra *p,*head;
int x,y,n=1;
head=ini();
p=head;
while (scanf("%d%d",&x,&y)!=EOF)
put(x,y,p);
p->next=NULL;
head=head->next;
//printf("%d %d",head->x,head->y);
//printf("%d %d",p->x,p->y);
while(head)
{
printf("%d %d",head->x,head->y);
n++;
printf("\n");
}
}
程序的目的是输入几组x,y然后原样输出,但是,始终有问题,求各位大神解疑。