2013-11-02 148 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