学数据结构中遇到输入输出的些有关问题。

学数据结构中遇到输入输出的些问题。。
#include <stdio.h>
#include <malloc.h>


typedef int datatype;
#define maxsize 1000
typedef struct 
{
datatype date[maxsize];
int last; 

} sequenlist;

void Input(sequenlist *L)
{  
int x; 
printf("请输入数据个数\n");
scanf("%d",&x);

if( x <= 0)
printf("输入的数据个数不正确\n");
else
{
int a;
for( a = 0; a < x; a++)
{
printf("输入第%d个数据\n",a+1);
scanf( "%d", (*L).date[a] );
(*L).last ++;
}
}  


//===========================
main()
{
sequenlist *L;
L = (sequenlist *) malloc(sizeof(sequenlist));
(*L).last = 0 ;

Input(L);

}

// 为什么 我运行后 只能输入数据个数。和第一个数据。然后 回车 输入第二个数据的时候 就提醒我的程序已停止工作。我用的VC++6.0的编译器。。

------解决方案--------------------
C/C++ code
scanf( "%d", &(*L).date[a] );//这儿少了个&符号