我開始學習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