一个奇怪的错误,不知怎么改,请高手帮帮忙!
#include<stdio.h>#include<stdlib.h>
#define OVERFLOW 0
#define OK 1
#define LIST_INIT_SIZE
typedef struct{
int * elem;
int length;
int listsize;
} SqList;
InitSqlist(SqList &va)
{
va.elem=(int*)malloc(sizeof(int));
if(!va.elem) exit(OVERFLOW);
va.length=0;
va.listsize=LIST_INIT_SIZE;
return OK;
} /*构造一个空表*/
InsertOrderList(SqList va)
{
int i,x;
printf("请输入要插入的元素x:");
scanf("%d",&x);
if(va.length==va.listsize)
return (OVERFLOW);
for(i=va.length-1;va.elem[i]>x&&i>=0;i--) //查找x的插入位置
va.elem[i+1]=va.elem[i]; //元素后移
va.elem[i+1]=x; //插入x
va.length++; //表长加1
return OK;
} //InsertOrderList
void main()
{
SqList va;
int m,i;
printf("请输入顺序表va中元素的个数m:");
scanf("%d",&m);
printf("请输入顺序表va中递增有序的m个整型数据元素:\n");
for(i=0;i<m;i++)
scanf("%d",&va.elem[i]);
int InsertOrderList();
for(i=0;i<va.length;i++)
printf("%d",va.elem[i]);
}