运行后为什么一直查找失败
#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怎么输入?你得分别输入结构体的各个变量值才行啊