刚学数据结构 写了一个顺序表 想问下 这个错误是什么意思

#include
#include
#include
#define ok 1
#define error 0
#define overflow -2
#define maxsize 100
int i, j;
typedef int status;
typedef int elemtype;
//顺序表
typedef struct {
elemtype *elem;
int length;
}sqlist;//申请了一段地址,但只有一个sqlist的指针

sqlist initlist()
{
sqlist *l = 0;
l = (sqlist
)malloc(sizeof(sqlist));
l->elem = (elemtype*)malloc(sizeof(elemtype)*maxsize);
if (!l->elem) exit(overflow);
l->length = 0;
return l;
}
status listinsert(sqlist *l, int i, elemtype e)
{
if ((i < 1) || (i > l->length + 1)) return error;
if (l->length == maxsize) return error;
for (j = l->length - 1; j >= i - 1; j--)
l->elem[j + 1] = l->elem[j];//length和i都为顺序表中的实际位置,但在C语言中数组第一个元素从0开始 所以要减去一。
l->elem[j - 1] = e;
++l->length;//先加一再使用i。
return ok;
}
status getelem(sqlist l, int i, elemtype *e)
{
if (il.length) return error;
*e = l.elem[i - 1];
return ok;
}

int locateelem(sqlist l, elemtype e)
{
for (i = 0; i < l.length; i++)
if (l.elem[i] == e)
return i + 1;
return 0;
}
status listdelete(sqlist *l, int i)
{
if ((i < 1) || (i > l->length)) return error;
for (j = i; j < l->length - 1; j++)
l->elem[j - 1] = l->elem[j];
--l->length;
return ok;
}

int main()
{
int flag;
sqlist *L = 0;
int *e = NULL;
int i;
L = initlist();
listinsert(L, 1, -1);
listinsert(L, 2, 21);
listinsert(L, 3, 13);
listinsert(L, 4, 24);
listinsert(L, 5, 8);
for (i = 0; i < L->length - 1; i++)
{
printf("%d", L->elem[i]);//输出顺序表的元素
}
printf("%d", L->length);//输出顺序表的长度
if (L->length == 0)
printf("empty");
else
printf("unempty");//判断顺序表是否为空
getelem(*L, 3, e);
printf("%d", *e);//输出第三个元素
printf("%d", locateelem(*L, 24));//输出元素24的位置
listinsert(L, 4, 0);
for (i = 0; i < L->length - 1; i++)
printf("%d", L->elem[i]);
listdelete(L, 5);
for (i = 0; i < L->length - 1; i++)
printf("%d ", L->elem[i]);
return 0;}


```![图片说明](https://img-ask.csdn.net/upload/201904/01/1554109965_506547.png)

大哥,你图片说明的内容不是应该放在双引号内?还是你的意思是让我们帮你看看你的代码错误在哪里?