我下面的代码给出了错误
#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循环说表达式必须是可修改的值。
答案 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值。这就是你得到这个错误的原因。