从文件中读取并在C中打印双倍比率

Net*_*ker 3 c scanf

我有一系列数字的文件:9 1 2 1

我试图找出比率subsum/sum

#include <stdio.h>
void main()
{ 
    double subSum = 0;
    double sum    = 13;
    double num    = 0;
    double x      = 0;
    FILE*  file   = fopen("text.txt", "r");

    while (fscanf(file, "%f", &num) > 0)
    {
        subSum = subSum + num;
        x      = subSum / sum;

        printf("%f",x);
        printf("\n");
    }

    fclose(file);
}
Run Code Online (Sandbox Code Playgroud)

但它保持打印零(0.00000000000)为什么???

Jon*_*ler 6

您将double变量的地址传递给scanf()已被告知期望a的地址的格式float.

while (fscanf(file, "%f", &num) > 0)
Run Code Online (Sandbox Code Playgroud)

应该:

while (fscanf(file, "%lf", &num) > 0)
Run Code Online (Sandbox Code Playgroud)