关于C语言函数嵌套的问题。4个数中的最大者

#include"stdio.h"intmain(){intmax4(inta,intb,intc,intd);//声明max4函数inta,b,c,d,max;prin... #include "stdio.h"
int main() {
int max4 (int a, int b, int c, int d); //声明max4函数
int a,b,c,d,max;

printf("Please input 4 integer number:");
scanf("%d %d %d %d",&a,&b,&c,&d);

max=max4(a,b,c,d);
printf("max=%d \n",max);
}

int max4 (int a,int b,int c,int d) {
int max2(int a,int b);
int m;
m=max2(a,b); //嵌套调用max2函数
m=max2(m,c);
m=max2(m,d);

return(m);
}

int max2 (int a,int b) {

if (a>b)
return a;
else
return b;
}

请问,max2函数只能处理A和B中大者,他又是怎么选出A和B中的大者与C的值,还有与ABC与D的大者的呢?
展开
 我来答
百度网友3e05a1612
2013-05-10
知道答主
回答量:16
采纳率:0%
帮助的人:11.5万
展开全部
m=max2(a,b);
//第一次通过方程 得到a,b中的较大者并赋值给m
m=max2(m,c);
//然后左边的m通过右边的方程进行赋值,返回的是第一次赋值后的m
等同于m=max2(max2(a,b),c);
第二句处理完成m存储的是a b c中最大值
m=max2(m,d);
//同第二步 m 为 a b c 中最大跟d比较
返回为a b c d 中最大值

如果你的问题是

方程:
int max2(int a,int b);
此中 参数为a,b 为何能处理其他
你需要再对方程概念加深理解
这里的变量值是代表方程本身的参数
你可以起任何名字 不用非要是 a,b 代表传入两个int数据类型
max4中的int max2(int a,int b);
是对方程的声明

希望这些对你有帮助
如果还有问题请提出
大家一起学习
dfdglei
2013-05-10 · TA获得超过1195个赞
知道小有建树答主
回答量:747
采纳率:100%
帮助的人:743万
展开全部
m=max2(a,b);把A和B中的大者赋给M;
m=max2(m,c);把M和C中的大者赋给M;
m=max2(m,d);把M和D中的大者赋给M;
调用完之后,M就是ABCD中最大的那个值;
更多追问追答
追问
MAX2函数的功能只是选A和B中的最大值啊,他怎么选M和C的呢?
追答
int max2 (int a,int b)这里的a和b是形参,用来做参数传递的不是A和B的值。
比如max2(a,b)这里调用的时候,max2里面的a等于外面的a,b等于外面的b;
max2(m,c);这里调用的时候,max2里面的a等于外面的m,b等于外面的c;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式