c编程部门的行为不符合预期

时间:2015-12-14 01:55:48

标签: c

当我进行分工时,我没有得到预期的结果。有人可以告诉我我做错了什么吗?

int page_list_size = 20; 
int page_fault_counter = 0;
double failure = 0.0;
double success = 0.0;
failure = page_list_size / page_fault_counter;
success = 1 - failure;
printf("failure Is %lf\n",failure);
printf("success Is %lf\n",success);

failure Is 1.000000
success Is 0.000000

应该是介于0和1之间的一些十进制数,并且它们应该加起来为1.

1 个答案:

答案 0 :(得分:2)

您不能除以0.如果分母不为0,则划分整数会产生一个整数,因此您需要使用浮点数或双精度数来得到0到1之间的数字。