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

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

慕运维8329952

2019-07-22 10:37

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

  • Dreams乄深巷
    2019-08-05 18:04:58

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

  • qq_慕标2117485
    2019-07-22 15:19:33

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

  • 小小疾飞
    2019-07-22 10:58:40

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

  • qq_慕桂英8257606
    2019-07-22 10:56:07

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

    小小疾飞

    double类型最好用%lf吧?

    2019-07-22 11:00:31

    共 1 条回复 >

C语言入门

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

926207 学习 · 20797 问题

查看课程

相似问题