C语言程序题 各位大哥们进来帮帮忙 拜托

fun(int a, int b)
{
if(a>b)return(a);
else return(b);
}
main()
{
int x=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);
printf("%d\n",r);
}
输出结果是什么啊 顺便解释下为什么 谢谢大侠

函数fun是输入两个数返回比较大的
fun(x,y)=fun(3,8) 结果是8
2*z =2*6 结果是12
fun(fun(x,y),2*z) =fun(8,12)结果就是12
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-11-26
1、r=fun(fun(x,y),2*z);首先执行fun(x,y),其中x=3,y=8.
if(a>b)return(a);else return(b);
说明返回b,即8.接下来执行fun(8,2*Z),返回2*Z=12.哪么if(a>b)return(a);else return(b);
说明返回a,即12.返回最大值。
第2个回答  2009-11-26
fun函数返回两值中的最大值
r=fun(fun(x,y),2*z);
先执行内部,结果为
r=fun(8,2*z);
输出结果就是
12
第3个回答  2009-11-26
输出结果12

函数fan是用来比较两个整型数的大小的 返回较大数 r=fun(fun(x,y),2*z);这个语句两次调用了fun先比较xy大小之后在比较xy中较大的和2*z的大小 之后返回三者中最大的
第4个回答  2009-11-26
12
1.这个比较简单,认真学下C语言就能读懂
2.自己运行下就能知道结果
3.程序还有两点小问题,没有头文件,函数没有返回类型
第5个回答  2009-11-26
输出为:12,调用fun(x,y)返回值为8,2*z=12;
所以fun(fun(x,y),2*z)相当于fun(8,12);
所以r=fun(fun(x,y),2*z)=12