C - 双结果返回值0

Mar*_*Lee -3 c

#include <stdio.h>

int main(int argc, const char * argv[]) {

    int a = 10;
    int b = 20;
    double result = a / b;
    printf("%d divided by %d makes %f\n", a, b, result);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

期望%f返回0.500000,我运行代码,结果是0.000000.

result变量返回零值的原因吗?

Iha*_*imi 10

因为它正在执行整数分割a并且bints,所以试试这个

double result = (float) a / (float) b;
Run Code Online (Sandbox Code Playgroud)