unhandled exception access violation
#include <stdio.h>#include <stdlib.h>#define MAX 20#define null 0int o=0;typedef struct student{ char code[8]; int score; char name[15];}student;typedef struct bitnode{ student data; struct bitnode *lchild,*rchild;}bitnode,*bitree;typedef struct { student *base;}sqlist;int insertbst(bitree &t,student e);int ordertraverse(bitree t,sqlist &l);int searchbst(bitree t,student key,bitree f,bitree &p);void listinsert(sqlist &l,student e);void initsqlist(sqlist &l);void main(){ int count=0; sqlist l; initsqlist(l); student data; bitree t=null; int counter=0; bitree x; int i=0; printf("enter counte of student\n"); scanf("%d",&count); while(1<2) { printf("please enter info(code(8),name,score)\n"); printf("enter -1 to end\n"); scanf("%s%s%d",&(data.code),&(data.name),&(data.score)); if (data.code[0]=='-'||data.name[0]=='-'||data.score==-1)break; else { insertbst(t,data);counter++;} if (counter==1)x=t; } ordertraverse(x,l); printf("\n"); printf("按照成绩降序排列:\n"); for(i=0;i<count;i++) printf("学号:%s ,姓名%s ,成绩 %d\n",l.base[i].code,l.base[i].name,l.base[i].score);}int searchbst(bitree t,student key,bitree f,bitree &p){ if (!t){p=f;return 0;} else if (key.score==t->data.score){p=t;return 1;} else if (key.score>=t->data.score)return searchbst(t->lchild,key,t,p); else return searchbst(t->rchild,key,t,p);}int insertbst(bitree &t,student e){ bitree s; bitree p; int i=0; if(!searchbst(t,e,NULL,p)) { s=(bitree)malloc(sizeof(bitnode)); s->data.score=e.score; s->lchild=s->rchild=NULL; if(!p)t=s; else if(e.score>p->data.score)p->lchild=s; else p->rchild =s; return 1; } else return 0;}int ordertraverse(bitree t,sqlist &l){ if(t->lchild) { ordertraverse(t->lchild,l); //printf("%d ",t->data); listinsert(l,t->data); } else if(t->rchild) { //printf("%d ",t->data); listinsert(l,t->data);} if(t->rchild) { ordertraverse(t->rchild,l); } if(!t->lchild&&!t->rchild) { // printf("%d ",t->data.score); listinsert(l,t->data); } return 0;}void initsqlist(sqlist &l){}void listinsert(sqlist &l,student e){ static int o=0; l.base[o++]=e;//access violation}