问答详情
源自:3-2 算术运算符

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

#include <stdio.h>

int main()

{

    int a,b,c,d;

    double result;  //这里干嘛用double?啥意思?下面又没有用

    a = 1;

    b = 2;

    c = 3;

    d = 4;

    result = a + b - c - d;  

    printf("%f\n", result);//这里%f改成%d为什么数值差别很大?

    return 0;

}

#include <stdio.h>

int main()

{

    int x,y;//这后面为啥又没有double了?

    x = 10;

    y = -3;

    printf("x+y=%d\n",x+y); /*这里可不可以用上面的方式分步输出几个运算的结果?*/

    printf("x-y=%d\n",x-y);

    printf("x*y=%d\n",x*y);

    printf("x/y=%d\n",x/y);

    printf("x%y=%d\n",x%y); 

    return 0;   

}


提问者:qq_垨護吥棄_03359846 2017-05-24 22:51

个回答

  • 瓦尔66
    2017-05-25 14:21:33

    double是双精度浮点型,适用于有小数的数,可以使result得结果得到15位有效数字.f格式符用来输出实数,以小数形式输出,d格式符是用来输出有符号的十进制,你上面用了double,所以对应的用f格式符。后面没有double是因为用了int数据类型,首先,你要明白,数据类型分为:基本类型,枚举型,空类型,派生类型。基本类型又分为整型和浮点类型,整型包括int,short int,long int,char,bool.。浮点型包括,单精度浮点型float,双精度浮点型double.可以分步得出结果。