尚未解决的烦人问题

基础不牢,地动山摇。上学期c语言没学好,如今数据结构编程也够呛。今天创建一个顺序线性表,构建好了自己输了十个数据进去然后再输出来检验,发现把代码封装在一个函数里正常运行,得到了想要的结果。可分别放在不同的函数里面,程序终止时便会返回一个巨大的值(非正常退出)。代码如下(当然有些地方不够完善,例如判断空间是否够用,但是只有先解决这个问题后面才好改):
//将表示输入输出的两个for循环语句分别放入Fill 和Print函数中将无法正常运行

#include<stdio.h>
#include<stdlib.h>
 
#define LIST_INIT_SIZE 100//初始储存容量 
#define LISTINCREMENT 10//后续每次多分配10个元素的空间大小 

typedef struct{
	int * elem;//此程序为线性表的顺序表示,可理解为数组,elem作为数组的基地址 
	int length;//数组长度 
	int listsize;//初始储存容量 
}SqList;//定义一个名为SqList的结构变量 

void InitList_Sq(SqList  );//初始化顺序表   
//void FillList(SqList );//存入十个数据 
//void PrintList(SqList );//输出验证 

int main()
{
	int i;
	SqList L;
	InitList_Sq(L);
	//FillList(L);
	//PrintList(L);
	return 0;
}

void InitList_Sq(SqList L )
{
	int i;
	L.elem = (int *)malloc(LIST_INIT_SIZE*sizeof(int));
	if(! L.elem)
	{
		printf("Fail to Init");
		exit (1);
	}
	L.length = 0;
	L.listsize = LIST_INIT_SIZE;
	for( i = 0;i<10;i++)
	{
		scanf("%d",&L.elem[i]);
		L.length++;
	}
	for(i=0;i<10;i++)
	{
		printf("%d\n",L.elem[i]);
	}
	printf("%d",L.length);
}
/*void FillList(SqList L )
{
	int i;
	

}*/ 
/*void PrintList( SqList L )
{
	int i;
	
}*/ 

猜你喜欢

转载自blog.csdn.net/qq_44134301/article/details/88621624
今日推荐