使用C编译程序时,出现错误:

error: suggest parentheses around comparison in operand of '!=' [-Werror=parentheses]


产生此错误的行是这段代码中的while行:

void addProductToStock(tStock *stock, tProduct product) {
    int i;
    bool found;

    i = 1;
    found = false;

    while (i <= (*stock).numProd != found) {
        if ((*stock).products[i].productCode != product.productCode) {
            i++;
        }
        else {
            found = true;
        }

    }

    (*stock).products[i].availableUnits = (*stock).products[i].availableUnits - product.unitsRequested;
    (*stock).products[i].unitsRequested = (*stock).products[i].unitsRequested + product.unitsRequested;
}


我该如何解决错误?感谢帮助并提供解释。

最佳答案

乍一看,您可能想要更改

while (i <= (*stock).numProd != found)




while (i <= (*stock).numProd && !found)


您正在检查没有超出数组范围,并且尚未找到乘积。

关于c - C括在操作数中的括号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27388505/

10-12 23:35