有以下程序#inc1udeint f(int x,int y){return((y-x)*x);)main(){ int a=3,b=4,c=5,d;d

18 查阅

有以下程序 #inc1ude<stdio.h> int f(int x,int y) { return((y-x)*x);) main() { int a=3,b=4,c=5,d; d=f(f(a,B) ,f(a,C); printf("%d\n",D); } 程序运行后的输出结果是______。

A.10

B.9

C.8

D.7

参考答案:

B解析:本题考查的是函数的嵌套调用和参数传递,先执行main函数,第—次调用f(a,b) ,将参数a,b的值传递给函数f中对应开参x,y,然后返回表达式“(y-x)*x););”的运算结果,即:(4-3)*3=3,所以函数结果为3;第二次调用f(a,c) ,将参数a,c的值传递给函数f中对应形参x,y,然后返回表达式“(y-x)*x);”的运算结果,即:(5-3)*3=6,所以函数返回值为6;第三次调用函数f,使用的参数是前两次调用的结果,即:f(3,6),将参数值传递给函数f中对应形参x,y,返回的结果

计算机二级