以下程序运行后的输出结果是 #include<stdio.h> int f(int x, int
以下程序运行后的输出结果是#include<stdio.h>intf(intx,inty){return((y-x)*x);}main(){inta=3,b=4,c=5,...
以下程序运行后的输出结果是 #include<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); }求详细步骤谢谢~~~~
展开
3个回答
展开全部
由于f(int x,int y)函数返回的值是(y-x)*x,相当于说f(int x,int y)=(y-x)*x;
这里主要是计算嵌套函数f(f(a, b), f(a, c));
先将f(a, b)和 f(a, c)带进去,得到f((b-a)*a,(c-a)*a)=f((4-3)*3,(5-3)*3)=f(3,6)
最后计算f(3,6)=(6-3)*3=9,
所以最后的输出结果就是9,执行以上程序结果如下:
扩展资料:
C语言中函数的定义都是相互平行、相互独立的,但是在调用的时候可以互相嵌套,就是指将某函数作为另一函数的参数使用,为大家所熟知的例子就是qsort函数会将一个比较器cmp作为参数。
void __fileDECL qsort (
void *base,
size_t num,
size_t width,
int (__fileDECL *comp)(const void *, const void *)
)
展开全部
f(int x,int y)这个函数返回的值是(y-x)*x
d=f(f(a,b),f(a,c))相当于
int m,n;
m=f(a,b);n=f(a,c);
d=f(m,n);
由f函数可知m=(b-a)*a;n=(c-a)*a;
d=(n-m)*m;
依次带入值m=(4-3)*3=3;n=(5-3)*3=6;
d=(6-3)*3=9;
所以输出值是9
更多追问追答
追问
太感谢啦~一下子全部都明白了~~~
追答
太客气了,能解决你的问题我也很高兴!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-01
展开全部
我真的不知道爱=哎问别人不
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询