2016-11-09 209 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