2015-12-14 53 views
0

当我进行分区时,我没有收到预期的结果。有人可以告诉我我做错了什么吗?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.

回答

2

你不允许用0分如果分母不为0,除以整数结果在int,所以你需要使用浮点数或双精度来获得0到1之间的数字。

+0

当我运行我的程序时,'page_fault_counter'计数器会增加几次。我只是试图说明我的声明是什么样的。 – rockstar797

+0

第二句解释了为什么在划分整数时你不会得到一个浮点数 –

+0

请您详细说明一下吗? – rockstar797

相关问题