为什么不会在包含双精度的数组中打印分数

时间:2014-10-08 21:57:07

标签: arrays printf double

当我使用此代码时:

int main(void)
{
    double array[1][1];
    array[0][0]=3/10;
    printf("%lf",array[0][0]);
}

打印而不是给我0.30000我得到0.000000 为什么呢?

1 个答案:

答案 0 :(得分:2)

表达式3/10是使用整数除法计算的,因为两个操作数都是整数。相反,请使用3.0/10.0以确保使用浮点计算完成。