[問題] double 小疑惑@@?

作者: battle7 (迪.阿倫)   2015-06-25 01:17:12
int main()
{
double k;
k=4.5+1/2;
printf("%f", k);
return 0;
}
為什麼答案是4.5
why? 想不通
正常邏輯不是4.5+(1/2)=5.0 嗎@@?
作者: EdisonX (卡卡獸)   2015-06-25 01:18:00
先乘除,後加減, 運算子優先權 問題
作者: diabloevagto (wi)   2015-06-25 01:19:00
先乘除後加減
作者: taies (akira)   2015-06-25 01:21:00
int/int=int
作者: waterCoka (Coka)   2015-06-25 01:22:00
你即使有括號(1/2)也是4.5 理由如樓上
作者: weiray   2015-06-25 01:23:00
1/2 =0 ,因為整數運算結果只會取得整數. 所以4.5+0
作者: celen99 (珍惜每一天)   2015-06-25 11:48:00
改成1.0/2就ok了
作者: lj0113 (tiny legend)   2015-06-25 20:57:00
或 (double)1/2 也OK

Links booklink

Contact Us: admin [ a t ] ucptt.com