簡體   English   中英

表達式結果未使用-我的C代碼怎么了?

[英]Expression result unused — what's wrong with my C code?

我編寫了一個運行“貪婪”算法的程序,該程序要求輸入找零的輸入值,並返回返回該找零所需的最小硬幣數量,同時使用盡可能少的硬幣。 只能使用四分之一硬幣,一角硬幣,鎳硬幣和一分錢硬幣。 請查看我的代碼,並告訴我如何解決所顯示的錯誤。

#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);
            }
    }
}

我遇到的錯誤是與(centv-25)(centv-10)(centv-5)(cent-1)

對於所有這些錯誤消息均為“未使用表達式結果”。 我該如何解決?

如果要更改centv的值, 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;

etc.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM