warning C4700:local variable 'l' used without having been initialized

问题描述:

warning C4700:local variable 'l' used without having been initialized
#include "stdio.h"
#include "stdlib.h"
#define ERROR 0
#define ok 1
#define OVERFLOW -2
#define list_init_size 100//线性表存储空间的初始分配量
#define listincrement 10//线性表存储空间分配增量
typedef int status;
typedef int elemtype;//类型定义
typedef struct{
elemtype *elem;//存储空间基址
int length;//当前长度
int listsize;//当前分配的存储容量 (以sizeof(ElemType)为单位)
}sqlist;
status Initlist(sqlist l,int list_number)
{if(list_number>list_init_size) return ERROR;
l.elem=(elemtype*)malloc(list_number*sizeof(elemtype));
if(!l.elem) exit(OVERFLOW);
l.length=0;
l.listsize=list_number;
return ok;
}
//在线性表中插入一个元素
status listinsert_sq(sqlist l,int i,elemtype e )//构造一个空线性表L
{/*在顺序线性表L中的第i个位置之前插入新的元素e
i的合法值为1=q;--p) *(p+1)=*p;//插入位置及之后的元素后移
*q=e;
++l.length;
return ok;
}
void outputlist(sqlist l)
{int j;
for(j=0;j

你的main函数中的l变量应作为全局变量,放在最最开始的那几行,在执行完函数时的过程中,l中三元素的值当然会变,但执行完,l就有返回执行前的状态了,函数在执行时会为括号中的各个参数创建一块空间,但执行完毕之后就会自...