double c,a=5;
c=3a/2;和c=3/2a;
为什么结果不一样,计算机的运算顺序怎么区别?
4条回答 默认 最新
_GX_ 2022-03-02 13:48关注* /的优先级相同,结合律都是从左到右3 * a / 2等价于(3 * a) / 2,先计算3 * a,由于a是double类型,故3自动转换为double,故得到3 * a得结果为double类型15.0,然后再计算15.0 / 2,同样把2转换为double类型,最终结果为double类型7.53 / 2 * a等价于(3 / 2) * a,先计算3 / 2,由于它们都是int类型,/按整除计算,3 / 2 = 1,然后再计算1 * a,把1转换为double类型,最终结果为double类型5.0本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用