69,575
社区成员
题目是 输入的数字逆序输出
#include<stdio.h>
#define MAXLEN 100
typedef int DataType;
typedef struct
{ DataType data[MAXLEN];
int Length;
}SeqList;
SeqList L;
void InitList( SeqList *L)
{
L->Length=0;
}
void CreateList(SeqList *L,int n)
{
int i;
printf("输入%d个整数: ",n);
for (i=0;i<n;i++)
scanf("%d",&L->data[i]);
L->Length=i;
}
int GetElem(SeqList *L,int i,DataType *x)
{
if(i<1||i>L->Length)
return 0;
else
{ *x = L->data[i-1];
return 1;
}
}
void DispList(SeqList *L)
{
int i;
for(i=L->Length;i>=0;i--)
{
printf("%5d",L->data[i]);
}
}
main()
{
SeqList L;
InitList(&L);
CreateList(&L,5);
DispList(&L);
}
这是devc里面运行的样子,前面多了个0,在vc6.0里面运行时,0变成 -858993460,我去查了这个数字,查到的说是数组越界相关的问题 ,但是没找到解决方法,求助大佬,帮忙看看