[问题] 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