表达式结果未使用—;什么';我的C代码怎么了?
我制作了一个运行“贪婪”算法的程序,该算法要求输入所欠零钱的值,并返回返回零钱所需的最小硬币数量,同时使用尽可能少的硬币。唯一可以使用的硬币是四分之一、一角、五分和一便士。请查看我的代码,并告诉我如何修复显示的错误表达式结果未使用—;什么';我的C代码怎么了?,c,cs50,C,Cs50,我制作了一个运行“贪婪”算法的程序,该算法要求输入所欠零钱的值,并返回返回零钱所需的最小硬币数量,同时使用尽可能少的硬币。唯一可以使用的硬币是四分之一、一角、五分和一便士。请查看我的代码,并告诉我如何修复显示的错误 #include <stdio.h> #include <cs50.h> #include <math.h> int main(void) { float change; int counter; counter = 0;
#include <stdio.h>
#include <cs50.h>
#include <math.h>
int main(void)
{
float change;
int counter;
counter = 0;
do
{
printf("Please imput how much change is owed: ");
change = GetFloat();
}
while (change<=0);
int centv;
{
centv = round(change*100);
}
int quarter, dime, nickel, penny;
quarter= 25;
dime= 10;
nickel= 5;
penny= 1;
{
while( centv>=quarter )
{
(centv-25);
counter++;
}
while( centv>=dime )
{
(centv-10);
counter++;
}
while( centv>=nickel )
{
(centv-5);
counter++;
}
while( centv>=penny)
{
(centv-1);
counter++;
}
if(centv == 0)
{
printf("%i \n", counter);
}
}
}
#包括
#包括
#包括
内部主(空)
{
浮动变化;
整数计数器;
计数器=0;
做
{
printf(“请输入欠款金额:”);
change=GetFloat();
}
而(变化=季度)
{
(centv-25);
计数器++;
}
而(centv>=dime)
{
(centv-10);
计数器++;
}
而(centv>=镍)
{
(centv-5);
计数器++;
}
而(centv>=便士)
{
(centv-1);
计数器++;
}
如果(centv==0)
{
printf(“%i\n”,计数器);
}
}
}
我得到的错误是与行(centv-25)
,(centv-10)
,(centv-5)
和(cent-1)
有关
对于所有表达式,错误消息都是“表达式结果未使用”。
如何解决此问题?如果您试图更改
centv
的值,则需要类似于centv=centv-25代码>
centv-25
应替换为centv=centv-25
,其他行也应如此 如Jens评论中所述,(centv-25)
计算centv-25的值,但随后不做任何处理。与(centv-10)
、(centv-5)
和(centv-1)
一起使用。在这四种情况中,您都需要将减法结果分配给centv
centv = centv-25;
...
centv = centv-10;
...
centv = centv-5;
...
centv = centv-1;
您可能打算从centv
中减去25
等。将表达式替换为:
类似于(centv-25)
的表达式生成一个值。但是,因为您没有将该值赋给变量,所以它是未使用的。如果没有副作用,编译器可能会删除该代码。我将其添加到代码中,但仍然收到相同的错误消息。有什么想法吗?你是为所有人做的,还是仅仅为了四分之一的案子?
centv -= 25;
etc.