Arrays 为什么赢了';t在包含双精度的数组中打印分数

Arrays 为什么赢了';t在包含双精度的数组中打印分数,arrays,printf,double,Arrays,Printf,Double,当我使用此代码时: int main(void) { double array[1][1]; array[0][0]=3/10; printf("%lf",array[0][0]); } 打印而不是给我0.30000我得到了0.000000 为什么?表达式3/10使用整数除法计算,因为两个操作数都是整数。相反,请使用3.0/10.0确保使用浮点完成计算

当我使用此代码时:

int main(void)
{
    double array[1][1];
    array[0][0]=3/10;
    printf("%lf",array[0][0]);
}
打印而不是给我0.30000我得到了0.000000
为什么?

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