这不是我的所有代码,但这是我的设置。当我试图计算平均值时,我得到inf
作为答案。相反,我应该得到一个小数。我错了吗?我做错了什么?
typedef struct hash_table_ {
data_el **order;
int *number_next_calls;
int *number_buckets;
int *buckets_size;
int *worst;
int *total;
float *average;
int (*hash_func)(char *);
int (*comp_func)(void*, void*);
data_el **buckets_array;
} hash_table, *Phash_table;
...
Phash_table table;
...
int temp_total,temp_buckets_size;
temp_total = *table->total;
temp_buckets_size = *table->buckets_size;
*(table->average) = (float)temp_total/(float)temp_buckets_size;
printf("%f\n",*(table->average));
答案 0 :(得分:1)
如果除以零,您将获得浮点异常(如果启用了核心转储)或者您将获得无穷大。
由于您正在打印Inf
,因此您的系统似乎正在被愚弄;核心转储更好,有点黄疸和古老的意见。