C编程程序只打印变量中的第一个值

时间:2014-09-24 22:26:23

标签: c

程序仅在我打印“NewTemp”时显示32 NewTemp = 32 +输入* 180/100;这部分似乎是主要问题

#include <stdio.h>

float celsius(float input) {
    float NewTemp;
    **NewTemp = 32 + input * 180/100; 
    printf("Please enter the temperature value to convert to fahrenheit\n");
    scanf("%f", &input);
    printf("The temperature in celsius is: %f\n", NewTemp);

    return NewTemp;

}

int main(void){
 float CelToFahren, input;
    CelToFahren = celsius(input);
}

1 个答案:

答案 0 :(得分:1)

在阅读输入之前先进行数学运算。你需要反过来做这件事。

此外,没有理由将无意义和未初始化的值传递给celsius函数。

最后,180/100是1余数80,因为当你除以两个整数时,你得到整数除法。您可以使用180.0/100.0

基本上,你需要学习C。