2017-04-02 9 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

십진수 % 2 == 1? digit0 = 1 : digit0 = 0)'->'digit0 = (십진수 % 2 == 1 : 1 : 0)' – StoryTeller

+1

음. 'decimal'은'float'입니까? 주의를 기울이지 않는 동안 DId 누군가가 허용 가능한 바이너리 연산으로 모듈로를 추가합니다. 'fmod' 누구? – WhozCraig

+0

@WhozCraig no ... 여기에 여러 가지 문제가 있습니다 –

답변

1

decimal 때문에 float이지만, %는 integers.If 당신은 정말 당신이 기능 float fmod(float x, float y)을 사용할 수 있습니다 float를 사용하여 MOD하려면, 그것은 x%y을 계산, 당신은 그것을 사용하는 #include <math.h>을 포함해야한다.