2024-06-05 14:04:25
z=(a+b)/c+sqrt((double)y)*1.2/c+x;
计算顺序是这样的:
z=(a+b)/c+sqrt((double)y)*1.2/c+x=(1+4)/2+sqrt((double)4.0)*1.2/2+10.5
=5/2+2*1.2/2+10.5=2+1.2+10.5=13.7
由于(a+b)/c这个部分参与运算的都是整数,因此计算机在计算这部分时会按照整数规则进行计算,并且得到整数结果如果想避免这个应写:
z=(float)(a+b)/c+sqrt((double)y)*1.2/c+x;让参与除法运算的两个数之一变为浮点数再进行除法计算。