そのため、ハッシュ テーブルに存在する文字列の数を数えようとしています。何らかの理由で、この関数は常に 0 を返します。ロジックのエラーを見つけるために、少し異なる方法で数回書き直してみましたが、私の知る限り、この関数はエントリの数を出力するはずですテーブル。これは非常にイライラするようになったので、助けていただければ幸いです。ありがとう!
/* htbl_n_entries : htbl* -> unsigned int */
/* return the number of entries in all buckets */
unsigned int htbl_n_entries(htbl *t){
int i;
int nbucks = t->n_buckets;
sll**bucks= t->buckets;
unsigned int sum = 0;
for (i = 0; i < nbucks; ++i)
{
while(bucks[i] != NULL){
sum++;
bucks[i] = bucks[i]->next;
}
}
return sum;
}