VC6上实际验证 结果输出为12
#include
fun(int a,int b)
{
if(a>b)
return(a);
else
return(b);
}
void main(void)
{
int x=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);
printf("%d\n",r);
}
解释:程序入口 先从main函数开始执行 首先给声明变量 并 赋值
然后执行fun函数 该函数在main函数外定义 需要两个参数
作用是返回两个参数里比较大的数
r=fun(fun(x,y),2*z);首先执行括号内部的fun(x,y),因为x=3,
y=8,y>x,所以该函数返回值为8
这样r=fun(fun(x,y),2*z);即变为
r=fun(8,2*z);2*z=12
也就是r=fun(8,12)因为12比较大 所以r=12
希望能对您有所帮助 若我解释的还不够清楚的话 还请您补充问题留言
把程序补充完整~~~~~~~
调用fun函数,传递参数
x=3,y=8,调用fun函数时,将x值传递给a,y值传递给b,则a=3,b=8
fun函数功能是返回两个数中较大的那个
fun(x,y)=8,
fun(fun(x,y),2*z)=fun(8,12)=12
所以r=12
上面的问题待解决啊~~