主题:<求助>线性表编程中遇到的问题
typedef struct /*定义线性表中元素结构体*/
{
int *elem;
int length;
int listsize;
}Sqlist;
int List_Openspace(Sqlist *L) /*开辟线性表存储空间*/
{
L->elem=(int *)malloc(LIST_INIT_SIZE*sizeof(int));
if(!L->elem)
return 0;
L->length=0;
L->listsize=LIST_INIT_SIZE;
return 1;
}
int List_CunShu(Sqlist *L,int p) /*往线性表里存入数据*/
{
int i=0;
if(p>LIST_INIT_SIZE)
printf("DATA ERROR!");
for(;i<p;i++)
{
printf("Please input the NO.%d number:",i+1);
scanf("%d",&(L->elem[i]));
(L->length)++;
}
return 2;
}
Sqlist *La,*Lb;
main()
{
int c,d;
printf("Please input a number to Lb:");
scanf("%d",&c);
List_Openspace(Lb);
List_CunShu(Lb,c);
printf("\nPlease input a number to La:");
scanf("%d",&d);
List_Openspace(La);
List_CunShu(La,d);
printf("\n");
for(c=0;c<Lb->length;c++)
printf(" %d ",Lb->elem[c]);
getch();
}
为什么输出结果Lb里的元素全部变成La里的元素了呢?有哪位大虾能帮小弟解释一下具体的原因么?谢谢了!
{
int *elem;
int length;
int listsize;
}Sqlist;
int List_Openspace(Sqlist *L) /*开辟线性表存储空间*/
{
L->elem=(int *)malloc(LIST_INIT_SIZE*sizeof(int));
if(!L->elem)
return 0;
L->length=0;
L->listsize=LIST_INIT_SIZE;
return 1;
}
int List_CunShu(Sqlist *L,int p) /*往线性表里存入数据*/
{
int i=0;
if(p>LIST_INIT_SIZE)
printf("DATA ERROR!");
for(;i<p;i++)
{
printf("Please input the NO.%d number:",i+1);
scanf("%d",&(L->elem[i]));
(L->length)++;
}
return 2;
}
Sqlist *La,*Lb;
main()
{
int c,d;
printf("Please input a number to Lb:");
scanf("%d",&c);
List_Openspace(Lb);
List_CunShu(Lb,c);
printf("\nPlease input a number to La:");
scanf("%d",&d);
List_Openspace(La);
List_CunShu(La,d);
printf("\n");
for(c=0;c<Lb->length;c++)
printf(" %d ",Lb->elem[c]);
getch();
}
为什么输出结果Lb里的元素全部变成La里的元素了呢?有哪位大虾能帮小弟解释一下具体的原因么?谢谢了!