2016-11-09 131 views
0

CS的第一个学期。 当我将“%d”更改为“%f”时,输出差10倍,甚至没有显示KPH行。除此之外,真的不知道我做错了什么。 这是现在发生的事情的屏幕。在C函数中返回浮点值

感谢halpz我的n00b

#include<stdio.h> 

float convertToMPH(float KPH); 
float convertToKPH(float MPH); 

int main(void){ 

    int i; 

    puts("Kilometers per hour converted to miles per hour:"); 
    puts("Kph\tMph"); 


    for(i=185; i>=0; i-=5){ 
     printf("%d\t%d\n", i, convertToMPH(i)); 
    } 
} 

float convertToMPH(float KPH){ 
return (float) (KPH/1.609344); 

} 

http://i63.tinypic.com/24mhmk3.png

+0

@Himanshu OP说,他试过,但没有得到预期产出。 – ameyCU

+0

在函数'convertToMPH'中,参数类型为'float',而在循环中传递'int'。尝试'convertToMPH((float)i)'。 – Himanshu

+0

@ameyCU,参见OP在给定答案中的评论。问题与我前面提到的相同。 – Himanshu

回答

3

变化

printf("%d\t%d\n", i, convertToMPH(i)); 

printf("%d\t%f\n", i, convertToMPH(i)); 
+0

哇。我觉得很愚蠢。非常感谢。 – MissAnnThropic