整数除法(1/n)的结果总是向下舍入到0.000

ami*_*mir 1 c

我写了一个简单的程序,它读取一个整数number并打印:1 / number.

我不明白为什么输出总是:0.000.

void main()
{
    int n = 0;
    scanf("%d",&n);

    float f = 1 / n;
    printf("%f",f);
}
Run Code Online (Sandbox Code Playgroud)

Rah*_*Jha 6

你的(1/n)返回一个整数值!

你需要float在分区中至少有一个值!

1 / n将(1.0 / n)更改为().