关于#数据结构#的问题:顺序表查找顺序表查找(语言-c语言)

运行后为什么一直查找失败

#include 
#include 
#define MAXSIZE 20
#define keyType int
#define ElemType int

typedef struct
{
    keyType key;
    ElemType data;
}rectype;

typedef struct
{
    rectype data[MAXSIZE];
    int length;
}SeqList;

//创建线性表,从键盘上输入数据 
SeqList create_seq(SeqList st)
{
    int i;
    printf("输入查找表中的元素个数:");
    scanf("%d", &st.length);
    printf("请输入表中的数据元素:");
    for(i=0;i"%d",&st.data[i]);
        printf("%d ",st.data[i]);
    }
}
//顺序查找 
int Search_seq(SeqList st,keyType key)
{
    int i;
    if(st.data==NULL)
        return 0;
    st.data[0].key=key;
    for(i=st.length;st.data[i].key!=key;i--);
    return i; 
    
}

int main()
{
    SeqList st;
    int t,i,key;
    st=create_seq(st);
//    for(i=0;i//        scanf("%d",&st.data[i]);
//        printf("%d ",st.data[i]);
//    }
        
    printf("请输入你要查找的关键字:");
    scanf("%d", &key);
    t=Search_seq(st,key);
    if(t!=0)
        printf("查找成功,位置是%d\n",t);
    else
        printf("查找失败!线性表中不存在此关键字!\n");
    return 0;
} 

scanf("%d",&st.data[i]); 这是什么鬼?data是个结构体数组啊!!!你用%d怎么输入?你得分别输入结构体的各个变量值才行啊