for (count = index, packet_no = 0;
count < TOTAL_OBJ, packet_no < TOTAL_PKT;
count++, packet_no++)
=>
逗号表达式的左侧操作数没有效果。逗号表达式的左侧操作数没有效果
我发现上面的代码是正确的,并不明白为什么会出现这个错误。
for (count = index, packet_no = 0;
count < TOTAL_OBJ, packet_no < TOTAL_PKT;
count++, packet_no++)
=>
逗号表达式的左侧操作数没有效果。逗号表达式的左侧操作数没有效果
我发现上面的代码是正确的,并不明白为什么会出现这个错误。
这是逗号运算符是如何工作的,你想做的事就是用OR或和(可能和你的情况):
你在每一个有三个逗号运营商for
声明的三个条款。警告是针对术语2的。
术语1和3的两个表达式均按预期执行。
术语2的左侧操作仅作为无效评估,不参与for
条件,因此会导致您的警告。
条件语句(for,while或if)具有包含逗号运算符的条件表达式,last表达式的值是条件语句的条件值(True或False)。 例如。
int i = 1;
int j = 0;
int k = 1;
if(i, j, k) {
printf("Inside");
}else {
printf("Outside");
}
打印“外”为从左至右,k是如果返回虚假陈述评价中最后一个表达式逗号运算符评估。
int i, j;
if(i = 0 , j = 1) {
printf("Inside");
}else {
printf("Outside");
}
上面印有“Inside”。 j = 1是if语句中具有真值的最后一个表达式。