status List_Insert(SqList *L,int List_Size)
{
int i=0,j=0;
for(i=0;i
{
scanf("%d",&j);
L->list[i] = j;
++L->length; 1
}
//L->length = List_Size; 2
printf("%d",L->length);
}
這是線性表中的插入操作,我想問的是那個L->length,當使用2號語句顯而易見L->length直接被賦值了已知的線性表長度,輸出正常,
然而當我使用1號語句時輸出就會異常,應該是直接輸出了L->length的內存地址,這是為什麼??求解
status List_Init(SqList L)
{
L.elem = (int *)malloc(LIST_INIT_SIZE*sizeof(int));
if(!L.elem) exit(OVERFLOW);
L.length = 0;
L.listsize = LIST_INIT_SIZE;
print("%d",L.length);
return OK;
}
把初始化的參數修改為指針試試,估計是這塊有問題。