一段单向链表的问题。为什么无法存入数据。总觉得没语法错了。
#include<stdio.h>#include<stdlib.h>
#define MaxSize 100
typedef struct Student{
char name[10];
char num[10];
char sex[2];
int age;
char Class[5];
char health[5];
}StudentDate;
typedef struct LNode{
StudentDate date ;
struct LNode *next ;
}LNode, *LinkList;
void ini_List(LinkList &);
void insert_sdate(LinkList &, int i , StudentDate );
void Print(LinkList );
int main()
{
LinkList L;
StudentDate stu[MaxSize];
int i,n;
scanf('%d',&n);
for (i=1;i<=n;i++)
{
scanf ('%s',stu[i].name);
scanf ('%s',stu[i].num);
scanf ('%s',stu[i].sex);
scanf ('%d',&stu[i].age);
scanf ('%s',stu[i].Class);
scanf ('%s',stu[i].health);
insert_sdate(L,i,stu[i]);
}
}
void ini_List(LinkList &L)
{
L=(LinkList)malloc(sizeof(LNode));
if(!L) exit(0);
L->next = L;
}
void insert_sdate(LinkList &L, int i , StudentDate stu )
{
LinkList p,q;
p=L;
int j=0;
while(p->next!=NULL&&j<i-1){
p=p->next;
j++;
}
q=(LinkList )malloc (sizeof(LNode));
if (!q)
exit (0);
q->date=stu;
q->next=p->next;
p->next=q;
}
这里用到了C++的引用。其他都是C的知识了。很奇怪。比如,我要输入三组数据。
然后我输入个3,回车,输入1 2 3 4 5 6这是第一组,正打算输入第二组程序就终止了。
[ 本帖最后由 萝莉小纯情 于 2013-4-1 16:31 编辑 ]