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

为什么int类型里a+b-c+d=0.000000

#include <stdio.h>

int main()

{

    int a,b,c,d;

    int result;

    a = 1;

    b = 2;

    c = 3;

    d = 4;

    result = a + b - c  +d;    //在这里体验哦~

    printf("%f\n", result);

    return 0;

}


正在回答

3 回答

谢谢啦



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

首先,result的结果肯定是4。

然后问题出现在printf里面,result是int类型的,在printf里使用%f输出,但是printf是不会做类型转换的,所以这里的结果是不可预知的,至于为什么显示0.000000也不太清楚,做一个强制类型转换就OK了:printf("%f\n", (float)result);

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

举报

0/150
提交
取消

为什么int类型里a+b-c+d=0.000000

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