我有下面的代碼:浮點運算結果在一個錯誤的號碼
#include <stdio.h>
int main()
{
int hours;
float check, phw;
printf("How many hours worked?");
scanf(" %d", &hours);
printf("How much do you make an hour?");
scanf(" %2f", &phw);
check = phw * (float)hours;
printf("You have made $%.2f\n", check);
return 0;
}
當進入
多少工作時間? 24
你一小時多少錢? 7.79
我希望它出來186.96
但我得到:
你已經做了$ 168.00
程序退出代碼爲結束:0
我不知道我做錯了什麼,我剛開始學習C,所以任何幫助表示讚賞。
@BlueMoon - 你能解釋一下嗎? – chiccodoro
24 * 7 = 168 24 * 0,79 = 18,96 168 + 18,96 = 186,96 可能你看到你的錯誤,現在 – CodeFanatic
@BlueMoon這是不正確的,只要一個操作數是浮點,表達式將是浮點。將int更改爲float將不會更改此代碼中的任何內容。 –