creat函数中flag没有初始化。
把int flag;改成 int flag = 1;
另外,你结构体的定义也发出来,最好用代码段贴出来
不知道你代码怎么写的,参考下面的:
#include <stdio.h>
#include <stdlib.h>
typedef struct student
{
int num;
char na[20];
char sex[10];
int age;
float chise;
float math;
//后面的自己补全
struct student *prior,*next;
}DNode,*DLinkedList;
DLinkedList creat()
{
DLinkedList l,r,p;
int flag = 1;
l = (DNode*)malloc(sizeof(DNode));
l->next = NULL;
l->prior = NULL;
r = l;
while(flag)
{
p = (DNode*)malloc(sizeof(DNode));
//scanf();//这里你自己补全
r->next = p;
p->prior = r;
r = p;
printf("是否继续输入,是请按1,否请按0\n");
scanf("%d",&flag);
}
r->next = NULL;
return l;
}
好像你的大括号不配对啊。从最后一个错误提示看,你上面所有的错误是因为某个函数或者定义缺少了后半部分的大括号,仔细检查一下