问答题
给定程序中,函数fun的功能是:
根据形参i的值返回某个函数的值。当调用正确时,程序输出:
x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.0000000
注意:部分源程序在文件BLANKl .C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stdio .h >
double f1 (double x)
{ return x * x; }
double f2 (double x, double y)
{ return x*y; }
/*********found*********/
【1】
fun (int i, double x, double y)
return
【2】
(x) ;
else
/*********found*********/
return
【3】
(x, y) ;
}
main ()
{ double x1=5, x2 =3, r:
r = fun (1, x1, x2);
r + = fun (2, x1, x2);
printf ("/nxl =% f, x2 =% f, x1 * x1+x1 *x2 =% f/n/n",xl, x2, r) ;
}
【正确答案】正确答案:(1)double (2)f1 (3)f2
【答案解析】解析:填空1:本空函数fun的返回值,根据return可知,不论返回的是n还是f2,它们的返回值均为double型的,故此空应该填写double。 填空2:因为函数fun的功能是根据形参i的值返回某个函数的值,当i等于1时,应该返回的是f1。 填空3:如果不满足if的话,应该返回的是f2。