问题 问答题

下列给定程序中,函数fun的功能是:计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。其中x和y的值不相等,Z和y的值不相等。
例如,当X的值为9,y的值为11,z的值为15时,函数值为-350。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<scdlib.h>
#include<stdio.h>
#include<math.h>
/*******found********/
#define FU(m,n)(m/n)
float fun(float a,float b,float c)

float value;
value=FU(a+b,a-b)+FU(c+b,c-b);
/********found********/
retum(Value);

void main()

float x,y,z,sum;
printf("Input x y z:");
scanf("%f%f%f&x,&y,&z);
printf("x=%f,y=%f,z=%f\n",x,y,z);
if(x==y||y==z)
(printf("Data error!\n");exit(0);)
sum=fun(x,Y,z);
printf("The result is:%5.2f\n",sum);

答案

参考答案:

 #define FU(m,n)(m)/(n)

(B)return(value);

解析:

本题关键字有:宏定义;函数返回值。

[微分析]

(1)宏定义格式为“#define标识符字符串”,FU(m,n)为标识符,(m/n)为字符串,其中m、n均为表达式,且先计算表达式,所以表达式加小括号。

(2)C语言区分大小写,value与Value为不同的变量。

选择题
单项选择题