关于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的大者的呢? 展开
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的大者的呢? 展开
展开全部
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);
是对方程的声明
希望这些对你有帮助
如果还有问题请提出
大家一起学习
//第一次通过方程 得到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);
是对方程的声明
希望这些对你有帮助
如果还有问题请提出
大家一起学习
展开全部
m=max2(a,b);把A和B中的大者赋给M;
m=max2(m,c);把M和C中的大者赋给M;
m=max2(m,d);把M和D中的大者赋给M;
调用完之后,M就是ABCD中最大的那个值;
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;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询