gpt4 book ai didi

c - 在 C 程序中,收到警告 : "Statement with no effect"

转载 作者:行者123 更新时间:2023-12-02 10:52:31 28 4
gpt4 key购买 nike

当我尝试使用 -Wall 编译特定程序时,GCC 将警告显示为:

expcal.c:66:5: warning: statement with no effect [-Wunused-value]

此警告引用了以下行:

ed.operator[j] == str[i];

在以下循环中找到:

for(i=0;i<strlen(str);i++)
{
j=0;
if(str[i] == '+' || str[i] == '-' || str[i] == '*')
{
if(str[i+1] == '+' || str[i+1] == '-' || str[i+1] == '*')
return 0;
else
{
//j=0;
ed.operator[j] == str[i];
count++;
j++;
}
}
}

我知道当赋值语句有问题时会出现此警告。上面的代码中有什么错误会导致 GCC 生成这样的警告?

最佳答案

声明

ed.operator[j] == str[i];

不是作业;这是使用 == 的比较。要将此作为作业,请尝试编写

ed.operator[j] = str[i];

您收到的警告意味着比较产生了一个从未使用过的值,因此该语句对程序没有任何明显的影响。这暗示您可能想将其重写为具有副作用的内容。

希望这有帮助!

关于c - 在 C 程序中,收到警告 : "Statement with no effect",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14433057/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com