问答详情
源自:3-1 运算符号是啥

为什么这样运行出来结果是2.000000

#include <stdio.h>
int main()
{
    int a,b,c,d;
    double result;
    a = 1;
    b = 2;
    c = 3;
    d = 4;
    result = a*b-c/d;    //在这里体验哦~
    printf("%f\n", result);
    return 0;
}

提问者:慕村3306518 2020-10-11 21:11

个回答

  • qq_慕仙9261721
    2021-01-09 13:30:17

    因为a,b,c,d都是int型数据,计算过程中a*b是1*2=2,c/d是3/4=0.75,int类型数据只取整数即c/d=0,所以a*b-c/d=2-0=2,计算结果2由int型转换为double型得到2.000000


  • 慕少6166303
    2020-11-21 13:11:56

    这个不应该算出来是 四分之五嘛 double型的话不应该输出 1.250000 嘛为什么是2   ???

  • 罔小鱼
    2020-10-11 21:25:33

    因为你用的是double双精度浮点型,