亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為啥a分別用int和double定義結果不同

#include <stdio.h>

int main()

{

? ? double a,sum;

? ? int b,d,e; ? /*a是單價2.3;b是要走距離;e是打車距離;d是時間段;*/

? ? d=9;

? ? e=12;

? ? sum=13;

? ? a=2.3;

? ? if(e<=3)

? ? goto LOOP;

? ? if(d>=23||d<=5)

? ? ? ? a=a*1.2;

? ? for(b=3;b<=e;b++)

? ? {

? ? ? ??

? ? ? ? sum=sum+a;

? ? }

? ? LOOP:sum+=1;

? ? printf("車費%f\n",sum);

? ? return 0;

}


正在回答

2 回答

C中沒有四舍五入的說法,而是歸零法。比如2.3強制化為整數后是2,而2.9強制化為整數之后也是2.

0 回復 有任何疑惑可以回復我~
#1

慕虎7192974 提問者

非常感謝!
2016-02-25 回復 有任何疑惑可以回復我~

double是雙精度浮點型,要求小數點后精確位數更多;而int是整型,因而二者在保留小數位數不同的情況下(如四舍五入)結果不同

0 回復 有任何疑惑可以回復我~
#1

慕虎7192974 提問者

那應該是double更精確啊,但為什么int算下的和答案最相近呢?
2016-02-22 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為啥a分別用int和double定義結果不同

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號