==> 在 WolfLord.bbs@ptt.cc (呆呆小狼�� �� ��N�� �� ) 的文章中提到:
> ※ 引述《coscell.bbs@bbs.cis.nctu.edu.tw (goodman)》之銘言:
> : 請教各位前輩下面這段程式:
> : #include <stdio.h>
> : int main()
> : {
> : long int salary=10800000;
> : float tax=0.48;
> double tax=0.48;
> : printf("年薪:\t%ld\n",salary);
> : printf("稅額:\t%f\n",salary*tax);
> : return 0;
> : }
> 這樣應該就可以了,因為浮點數的精密度不足無法表示那麼多的數字位數。
> 改成倍精度浮點數問題就解決了。
果然如此,多謝多謝!
tax 只有小數兩位,理所當然覺得用 float 就夠了。
printf 用常數驗證也沒問題。怎麼也沒想到問題出在變數宣告。
C 語言真南!
--
* Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>