有以下程序 #inc1ude<stdio.h> int f(int x,int y) { return((y-x)*x);) main() { int a=3,b=4,c=5,d;

admin2009-09-28  15

问题 有以下程序        #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,返回的结果为9,因此,选项B是正确的。
转载请注明原文地址:https://kaotiyun.com/show/c9Wp777K
0

相关试题推荐
最新回复(0)