有下列程序: int funl(double a)(return a*=a;} int fun2(double x,double y) { double a=0,b=0; a=fun 1(x);b=fun1(y);return(int)(a+b

admin2012-12-03  37

问题 有下列程序:
int funl(double a)(return a*=a;}
int fun2(double x,double y)
{   double a=0,b=0;
    a=fun 1(x);b=fun1(y);return(int)(a+b);
}
main()
{double w;w=fun2(1.1,2.0),……)
程序执行后变量w中的值是(    )。

选项 A、5.21
B、5
C、5.0
D、0.0

答案C

解析 子函数fun1(double a)的功能是返回a的平方值的整数部分。子函数fun2(double x,double y)的功能是返回x的平方值的整数部分与y的平方值的整数部分的和。又因为题中变量w的定义为double型,函数fun(2)的定义为int型,按照备类数值型数据间的混合运算,整型数据被转换为实型数据。所以双精度型变量w的值为5.0。
转载请注明原文地址:https://kaotiyun.com/show/Z0Pp777K
0

最新回复(0)