2017-04-02 19 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; 
} 

私は2番目のforループ内の変数名「小数」の「という表現に変更可能な値でなければならない」というエラーが出続けます。

これはなぜですか、どのように修正できますか?

ありがとうございました!

+2

'decimal%2 == 1?数字0 = 1:数字0 = 0) ' - >' digit0 =(10進数2 == 1?1:0) ' – StoryTeller

+1

ええと。 'decimal'は' float'ですか?注意を払っていない間に誰かが浮動小数点演算を許すようにモジュロを追加しましたか? 'fmod'誰ですか? – WhozCraig

+0

@WhozCraigいいえ...ここには複数の問題があります –

答えて

1

decimalfloatであるが、唯一のintegers.Ifため%は、あなたが本当にfloatを使用して国防省したいので、あなたが機能float fmod(float x, float y)を使用することができ、それはx%yを計算し、あなたはそれを使用する#include <math.h>を含める必要があります。

関連する問題