关于double和int的算术运算问题

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

qq_垨護吥棄_03359846

2017-05-24 22:42

#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);//这里把%f改成%d的结果变化怎么那么大?
    return 0;
}


写回答 关注

2回答

  • qq_珍惜_33
    2017-06-14 16:42:53

    printf("%f\n", (int)result);//重新温习一下强制类型转换

  • Nil_大黄
    2017-05-25 09:32:06

    result是一个double型,%d会将double型隐式转换为int型,不过我也有一个问题,测试结果%d下result输出结果是0,为什么不是-4?

    钟阿瞒i

    %f和 %d来回切换%f-4结果不变改成%d就没有重复的结果,数字还特别的大

    2017-07-13 05:41:20

    共 1 条回复 >

C语言入门

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

926207 学习 · 20797 问题

查看课程

相似问题