L.length为什么是0?
程序代码:
#include <stdio.h>
#include <stdlib.h>
#define LIST_INIT_SIZE 100
typedef struct List
{
int *elem;
int length;
int listsize;
}SeqList;
SeqList Init(SeqList L);
bool Create(SeqList L);
void main()
{
SeqList L;
L = Init(L);
Create(L);
printf("%d\n",L.length);
}
SeqList Init(SeqList L)
{
L.elem = (int *)malloc(LIST_INIT_SIZE*sizeof(int));
if (!L.elem)
exit(1);
L.length = 0;
L.listsize = LIST_INIT_SIZE;
return L;
}
bool Create(SeqList L)
{
int *ptr;
ptr = L.elem;
for (int i = 0; i < 5; i++)
{
scanf("%d",ptr);
ptr++;
L.length++;
}
return true;
}









