小弟执行过程中总是出现这两个不能解决的问题,求讲解!
我如此弄了一个程序,目的是利用顺序表输入五位同学的基本信息并输出,程序如下:#include<stdio.h>
#include<stdlib.h>
#define OVERFLOW -2;
#define OK 1;
typedef int status;
typedef int Elemtype;
#define LIST_INIT_SIZE 1000
#define Listcrement 100
void main()
{
typedef struct{
Elemtype *elem;
int length;
int listsize;
}sqlist;
//顺序表动态分配存储结构
status initList_sq(sqlist &L)
{
L.elem=(Elemtype *)malloc(LIST_INIT_SIZE*sizeof(Elemtype));
if(!L.elem) exit(OVERFLOW);
L.length=0;
L.listsize=LIST_INIT_SIZE;
return OK;
}
//初始化线性表
struct date
{
int year;
int month;
int day;
}bir[5];
//定义时间结构组
struct student
{
long int num;
char name[10];
struct date birthday;
}stu[5];
//定义学生信息结构组
int i, j;
for(i=0;i<5;i++)
{scanf("%d,%s,%d,%d,%d",&stu[i].num,&stu[i].name,&stu[i].birthday.year,&stu[i].birthday.month,&stu[i].birthday.day);}
for(j=0;j<=i;j++)
{printf("Num:%5d Name:%5s Birthday:%5d\n",stu[j].num,stu[j].name,stu[i].birthday);}
}
但是我执行的时候总是有个错误提示一个错误
error C2601: 'initList_sq' : local function definitions are illegal
执行 cl.exe 时出错.
我不知道怎么解决,于是把
status initList_sq(sqlist &L)
{
L.elem=(Elemtype *)malloc(LIST_INIT_SIZE*sizeof(Elemtype));
if(!L.elem) exit(OVERFLOW);
L.length=0;
L.listsize=LIST_INIT_SIZE;
return OK;
}
这一段删了,提示没有错误,就开始执行程序,输入以后出现如图示悲剧;
各位高人,如何解决这些个问题,小弟坐等!!!谢谢了!!
因为是新手,所以没分的!!