typedef struct veri{
int k[9],v[10];
}v;
v a[27];
int h(int x){
return x%27;
}
int put (v data){
if(a[h(data.k)].k == -1){
a[h(data.k)] = data;
return 1;
}
else {
int donusSayisi =0;
int indis = h(data.k);
while(a[indis].k != data.k && a[indis].k!=-1){
//printf("%d %d %d \n",a[indis].k, data.k, indis);
indis ++;
if(indis>=27){
if(donusSayisi>=1){
printf("hashtable dolu\n");
return -1;
}
indis = indis %27;
donusSayisi++;
}
}
a[indis].v[indis]= data.v[indis];
a[indis].k[indis] = data.k[indis];
}
}
我正在尝试使用数组创建哈希表。但是不能添加它。我不能把它拿到它。我的错误。我因为这个错误而变得疯狂。这不是我的所有代码只是一部分..
if(a[h(data.k)].k == -1){
传递'h'的参数1使得没有强制转换的指针产生整数 指针和整数之间的比较
return a[indis].v;
return从没有强制转换的指针生成整数