5

華氏をケルビンに変更しようとしています。式は次のとおりですK = 5/9 (° F - 32) + 273

私のコードは次のとおりです。

#include <stdio.h>
double const changeToC = 32.0;
double const changeToK = 273.16;

void temperatures(double n);

int main(void)
{
    int q = 'q';
    double userNumber;

    printf("please enter fahrenheit number: \n");
    scanf("%f", &userNumber);

    while (userNumber != q)
    {
        temperatures(userNumber);
        printf("\n");
        printf("please enter fahrenheit number: \n");
        scanf("%f", &userNumber);
    }
}

void temperatures(double n)
{
    double celsius, kelvin;

    celsius = 5.0 / 9.0 * (n - changeToC);
    kelvin = 5.0 / 9.0 (n - changeToC) + changeToK;

    printf("fahrenheit is: %.2f - celsius is: %.2f - kelvin is: %.2f", 
           n, celsius, kelvin);
}

華氏を double で取得し、摂氏とケルビンの値を出力するには、入力が必要です。

華氏からケルビン ( kelvin = 5.0 / 9.0 (n - changeToC) + changeToK;) の行でエラーが発生します。

呼び出されたオブジェクト型 double は関数または関数ポインタではありません

これが何を意味するのか教えてください。

4

2 に答える 2

8

乗算演算子を見逃しました。*

kelvin = 5.0 / 9.0 * (n - changeToC) + changeToK;

乗算演算子がない場合、コンパイラは括弧()を関数呼び出し演算子として扱います。

于 2013-01-20T18:51:51.090 に答える
0
kelvin = 5.0 / 9.0 * (n - changeToC) + changeToK;

乗算演算子を配置します。これで問題が解決します

于 2013-01-20T18:54:47.860 に答える