关于C语言中链表建立的问题请教
我想建立一个链表,并打印出来 ,请各位帮忙看看程序错在什么地方了?#include<stdio.h>
#include<malloc.h>
struct stu
{
long num;
int age;
struct stu * next;
};
int n;
struct stu * create()
{
struct stu * p,* tail;
struct stu * head;
n = 0;
head = NULL;
p=(struct stu *)malloc(sizeof(struct stu));
printf("请输入学号、年龄:\n");
scanf("%ld,%d",&p->num,&p->age);
while(p->num != 0)
{
n++;
if(n == 1)
head = p;
else
tail->next=p;
tail=p;
p=(struct stu *)malloc(sizeof(struct stu));
printf("请输入学号、年龄:\n");
scanf("%ld %d",&p->num,&p->age); //为什么我运行的时候只能输入2个学生的信息,输入第三个的时候vc6.0就无法控制了,输入不进去了,程序错在什么地方?
}
tail->next = NULL;
return head;
}
main()
{
struct stu *p;
p=create();
while(p->next != NULL)
{
printf("[num]: %ld,[age]:%d",p->num,p->age);
p=p->next;
}
}