为了账号安全,请及时绑定邮箱和手机立即绑定

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

#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 回答

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

钟阿瞒i

%f和 %d来回切换%f-4结果不变改成%d就没有重复的结果,数字还特别的大
2017-07-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926019    人
  • 解答问题       20793    个

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

进入课程

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信