2017-04-02 95 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>使用它。

相关问题