200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > C语言 函数的嵌套调用

C语言 函数的嵌套调用

时间:2022-04-10 05:52:37

相关推荐

C语言 函数的嵌套调用

C语言的函数定义是互相平行、独立的,也就是说,在定义函数时,一个函数内不能再定义另一个函数,即不能嵌套定义,但可以嵌套调用函数,即,在调用一个函数的过程中,又调用另一个函数。

如下图所示:表示的是两层嵌套(连main一共三层函数)。

其执行过程时:

①执行main函数的开头部分

②遇到函数调用语句,调用函数a,流程转去函数a

③执行a函数的开头部分

④遇到函数调用语句,调用函数b,流程转去函数b

⑤执行b函数,如果再无其他嵌套的函数,则完成b函数的全部操作

⑥返回到a函数中调用b函数的位置

⑦继续执行a函数中尚未执行的部分,直到a函数结束

⑧返回main函数中调用a函数的位置

⑨继续执行main函数中剩余部分直到结束

【例题】

输入4个整数,找出其中最大的数。用函数的嵌套调用来处理。

【思路】

定义函数Max4,用来实现找出4个数中的最大者这个功能。定义Max2函数,用来实现找出两个数中的大者。在main函数中调用Max4函数,然后在Max4中调用另一个函数Max2。在Max4中通过多次调用Max2函数,可以找出4个数中的大者,然后把它作为函数值返回main函数,在main函数中输出结果。

【代码实现】

int Max2(int x,int y){return(x>y?x:y);}int Max4(int w,int x,int y,int z)//定义Max4函数{int Max2(int x,int y);//对Max2的函数声明int m;m=Max2(w,x);//调用Max2函数,得到w,x两个数中的大数放在m中m=Max2(m,y);//调用Max2函数,得到w,x,y三个数中的大数放在m中m=Max2(m,z);//调用Max2函数,得到w,x,y,z四个数中的大数放在m中return m;//把m作为函数值带回main函数}int main(){int a,b,c,d;printf("从键盘输入4个整数:\n");//提示输入4个数scanf("%d%d%d%d",&a,&b,&c,&d);//输入4个数int m;m=Max4(a,b,c,d);//调用Max4函数,得到4个数中最大者printf("4个数中最大的数为:%d",m);//输出4个数中最大者return 0;}

【结果】

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。