【发布时间】:2017-08-27 05:55:59
【问题描述】:
快速提问:
#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 循环中,变量名“十进制”上的“表达式必须是可修改的值”不断出现错误。
为什么会这样,我该如何解决?
谢谢!
【问题讨论】:
-
decimal % 2 == 1 ? digit0 = 1 : digit0 = 0)-->digit0 = (decimal % 2 == 1 ? 1 : 0) -
嗯。
decimal是float吗?是否有人在我不注意的情况下将模数作为允许的二进制运算添加到浮点数?fmod有人吗? -
@WhozCraig no...这里有多个问题
-
@M.M 是的,我想是的。
标签: c loops expression unmodifiable