问答题 给定程序中,函数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。