我正试图将华氏温度改为开尔文,而公式是 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);
}
Run Code Online (Sandbox Code Playgroud)
我需要输入以获得华氏两倍,并打印摄氏度和开尔文值.
在华氏度到开尔文(kelvin = 5.0 / 9.0 (n - changeToC) + changeToK;)行我收到一个错误:
调用对象类型double不是函数或函数指针
你能告诉我这意味着什么吗?
你错过了乘法算子, *
kelvin = 5.0 / 9.0 * (n - changeToC) + changeToK;
Run Code Online (Sandbox Code Playgroud)
如果没有乘法运算符,编译器会将括号()视为函数调用运算符.