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

为什么这样运算结果是错的?%d不是取整吗?

#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("%d\n", result);
    return 0;
}


正在回答

4 回答

你赋值的时候result就是double类型,如果想要输出整形,需要在printf里进行强制转换(int)result

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

你想输出整数的话要强制类型转换的   要不然前后类型不匹配啊

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

但是你result定义的是double型呀,需要一一对应。

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

请用“%f”,而不是“%d”,“result”变量定义的是double类型数据,而不是整型数据。

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

小小疾飞

double类型最好用%lf吧?
2019-07-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么这样运算结果是错的?%d不是取整吗?

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