我有错误,因为Expression必须是可修改的值

时间:2015-12-31 04:28:07

标签: c

我下面的代码给出了错误

#define ONE_SAMPLE    6
#define DATA_BUFF     100
int main()
{
    unsigned int total;
    for (ONE_SAMPLE=0;ONE_SAMPLE<DATA_BUFF;ONE_SAMPLE++)
    {
        total=ONE_SAMPLE*DATA_BUFF;
        i2cread(read function of sensor);
    }
}

for循环说表达式必须是可修改的值。

1 个答案:

答案 0 :(得分:2)

您将ONE_SAMPLE定义为6

#define ONE_SAMPLE    6

然后在循环中使用递增

当预处理器完成其工作时,循环将如下所示

for (6=0;6<100;6++)
{
    total=6*100;
    i2cread(read function of sensor);
}

表达式6=0没有任何意义。它正在尝试将0分配给常量6。常量不是可分配的l值。这就是你得到这个错误的原因。