2013-11-02 69 views
0

這裏是我的代碼中的問題片段。 a表示數組,c表示計數器。代碼知道我何時獲得,丟失或保持不變,因此它具有正確的價值。它只是它總是顯示0零磅,因爲我失去了多少或獲得了多少... 在printf中將%i傳遞給[* c] -a [* c-1]有什麼問題嗎? 我想不出另一種方式來減去差值減去數組中元素的差異

if(*c > 0){ 
    if(a[*c] > a[*c-1]) 
     printf("You gained gained %i pounds!\n",a[*c]-a[*c-1]); 
    if(a[*c] < a[*c-1]) 
     printf("You lost %i pounds!\n", a[*c-1] - a[*c]); 
    if (a[*c] == a[back]) 
     printf("You're still the same weight as before..\n"); 
+2

這個方案是非常明亮爽朗約告訴他們體重增加人。 –

+1

可能要改變'「你增加了%i磅!\ n」'爲''你增加了%i磅!\ n「'。當他們已經聽說他們體重增加時,不需要加倍痛苦。 – Shashank

+0

大聲笑感謝您指出, – NightMusume

回答

1

在printf的字符串整數令牌%d

所以,試試這個:

printf("You gained gained %d pounds!\n",a[*c]-a[*c-1]); 
+0

感謝,讓我意識到我初始化數組作爲一個浮動不是一個整數,這就是爲什麼它不工作xD – NightMusume