有如下程序: #include int sub(double a,double b) { return(int)(a-b); } main( ) { printf("%d\n",sub(3.8,

admin2021-04-28  24

问题 有如下程序:
    #include
    int sub(double a,double b)
{
    return(int)(a-b);
    }
    main(    )
    {
    printf("%d\n",sub(3.8,2.1));
    }
    程序运行后的输出结果是(    )。

选项 A、2.0
B、1.7
C、2
D、1

答案D

解析 在类型转换过程中,如果较高类型转换成较低类型,直接忽略多余位数。程序执行过程为:调用函数sub(3.8,2.1),3.8-2.1=1.7(double类型),(int)强制转换将1.7转换成int类型1,然后返回1并输出。
转载请注明原文地址:https://kaotiyun.com/show/vHtp777K
0

随机试题
最新回复(0)