在数据表中输入了5元素,但在打印输出时,只出来了2个。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#define maxsize 100
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef char ElemType;
typedef struct
{
char* elem;
int length;
}Sqlist;
char InitList(Sqlist* L)/初始化顺序表/
{
L->elem = (char*)malloc(10sizeof(char));
if (L->elem == NULL)
{
printf("分配失败");
return OVERFLOW;
}
else
L->length = 0;
return OK;
}
void InsertList(Sqlist L)/向顺序表中输入元素/
{
int i, num;
printf("输入几个元素以及元素值:\n");
scanf("%d",&num);
L->length = num;
for (i = 0; i <num; i++)/*向顺序表中输入元素*/
scanf("%c",&(L->elem[i]));
}
void PrintList(Sqlist L)/输出顺序表中的元素/
{
int i;
for (i = 0; i <L.length; i++)
printf("%c",L.elem[i]);
}
int main()
{
Sqlist L;
//cout << "(1)初始化顺序表L" << endl;
printf("初始化\n");
InitList(&L);/初始化/
printf("输入元素\n");
InsertList(&L);/输入元素/
printf("输出顺序表\n");
PrintList(L);/输出元素/
return 0;
}
输出结果: