c变量似乎是打印地址而不是变量值

n0o*_*0ob 2 c

#include <stdio.h>
#include <stdlib.h>

int main (void)
{
    double f;

    printf ("What is the temperature in Fahrenheit?\n");
    scanf ("%d", &f);

    double x = (f-32)*(5/9);
    printf ("%d degrees Fahrenheit \n",f); 
    printf ("%d degrees Celsius",x); 
    system("PAUSE");  

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

f似乎是变量f的打印地址而不是值,它可能是一个语法错误.

Mat*_*hen 7

%d应为%f:

printf ("%f degrees Farenheit \n",f); 
printf ("%f degrees Celsius",x); 
Run Code Online (Sandbox Code Playgroud)

编辑:正如乔纳森所说,你需要改变:

double x = (f-32)*(5/9);
Run Code Online (Sandbox Code Playgroud)

double x = (f-32)*(5.0/9);
Run Code Online (Sandbox Code Playgroud)

在C中,整数除法(除数和除数都是整数类型的除法)截断,因此5/9总是0.