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*

2024-12-25 12:24:13
推荐回答(3个)
回答1:

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

希望能对您有所帮助 若我解释的还不够清楚的话 还请您补充问题留言

回答2:

把程序补充完整~~~~~~~

调用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

回答3:

上面的问题待解决啊~~