我第一天就开始学习C语言,想创建一个程序,询问用户所欠的钱有多少,然后说出可以用多少硬币来做更改。假设唯一的硬币是四分之一(0.25)、一角(0.10)、五分之一(0.05)和一便士(0.01)。所以如果所欠的零钱是1.15,那么这个程序应该是4个四分之一,1个一角,1个五分之一。无论如何。
问题是,当change值大于等于0.25时,我试图从float change中减去0.25。

int main(void)
{
    float change;
    printf("Kui palju on vaja peenraha tagasi maksta?\n");
    change = GetFloat();

    float quarters;
    for (change; change >= 0.25; change - 0.25, quarters++) // This is where i tried to subtract. Look only on this line because everything else is incomplete.
    {
        printf("change= %f and quarters= %f", change, quarters);
    }


}

这是我得到的输出,这个程序会一直这样。
c - 无法从for循环的float中减去float值?-LMLPHP
这太奇怪了,因为变化——起作用,但变化——0.25不起作用。我做错什么了吗?有没有其他可行的方法?

最佳答案

更改:

for (change; change >= 0.25; change - 0.25, quarters++)

致:
for (change; change >= 0.25; change = change - 0.25, quarters++)

关于c - 无法从for循环的float中减去float值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36342830/

10-13 08:15
查看更多