问题 单项选择题

有下列程序:
int fun1(double a)(return a*=a;)
int fun2(double x,double y)
double a=0,b=0;
a=fun 1(x); b=fun 1(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型,函数fun2的定义为int型,按照各类数值型数据间的混合运算,整型数据被转换为实型数据。所以双精度型变量w的值为5.0。

选择题
问答题