2017-04-02 80 views
0

快速的問題:表達必須是可修改值(C)

#include <stdio.h> 

int main(void) { 
    int divisor, counter, binary, counter2; 
    int digit0, digit1, digit2, digit3; 
    float decimal; 

    printf("Decimal\t\tBinary\n"); 

    for (counter = 0; counter <= 15; counter++) { 
     printf("%d\t\n", counter); 

     decimal = counter; 

     for (counter2 = 0; counter2 <= 3; counter2++) { 
      decimal % 2 == 1 ? digit0 = 1 : digit0 = 0); 
     } 
    } 

    return 0; 
} 

我不斷收到錯誤的「表達必須是一個可修改」關於在第二個for循環變量名「小數」。

這是爲什麼,我該如何解決?

謝謝!

+2

'decimal%2 == 1? digit0 = 1:digit0 = 0)' - >'digit0 =(十進制%2 == 1?1:0)' – StoryTeller

+1

Um。 'decimal'是'float'? DId有人添加模作爲一個允許的二進制操作浮動,而我沒有注意到? 'fmod'任何人? – WhozCraig

+0

@WhozCraig不......這裏有多個問題 –

回答

1

因爲decimalfloat,但%只爲integers.If你真的想使用float,您可以使用功能float fmod(float x, float y)國防部,它計算x%y,你應該包括#include <math.h>使用它。

相關問題