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

admin2021-04-28  12

问题 有如下程序
#include <stdio.h>
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并输出,D选项正确。
转载请注明原文地址:https://jikaoti.com/ti/8iz0FFFM
0

最新回复(0)