我开始学习C语言编程和我有这个代码的问题:变量值的变化。
#include <stdio.h>
float jobPrice (int numberOfPages, float pricePerSheet, float pricePerPlate, int numberOfCopies)
{
return (((pricePerPlate * numberOfPages) + ((numberOfPages/2)*numberOfCopies*pricePerSheet) + (numberOfCopies*2)) * 1.175f);
}
float colourPrinting (int numberOfPages, int numberOfCopies)
{
return jobPrice(numberOfPages, 0.04f, 28.00f, numberOfCopies);
}
int main()
{
printf("%f\n", colourPrinting(32, 1000));
return 0;
}
应打印的价值是4154.8,但我的计划是打印4154.799805。我调试了代码,看起来当调用pricePerSheet参数为0.04f的jobPrice时,它将更改为0.0399999991。
任何帮助,将不胜感激。
+1来到这里发布确切的链接。 – user786653