A-A+
有下列程序: int funl(double a){return a*=a;} int fu
问题详情
有下列程序: int funl(double a){return a*=a;} int fun2(double x,double y) {double a=0,b=0; a=funl(x);b=funl(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
子函数funl(doublea)的功能是返回a的平方值的整数部分。子函数fun2(doubleX,doubley)的功能是返回X的平方值的整数部分与Y的平方值的整数部分的和。又因为题中变量W的定义为double型,函数fun(2)的定义为int型,按照各类数值型数据间的混合运算,整型数据被转换为实型数据。所以双精度型变量w的值为5.0。