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

来源:3-1 运算符号是啥

慕村3306518

2020-10-11 21:11

#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;
}

写回答 关注

3回答

  • 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   ???

    weixin...

    应该是abcd定义为整数型,虽然结果result定义为double,但计算过程中除法出现的小数还是属于整形的会被计算为0

    2022-11-30 15:17:14

    共 2 条回复 >

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

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

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926020 学习 · 20793 问题

查看课程

相似问题