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

【C语言】函数嵌套的调用 函数递归调用

时间:2021-06-11 12:25:31

相关推荐

【C语言】函数嵌套的调用 函数递归调用

一、两种函数调用的方法。

1、可以嵌套调用函数在调用一个函数的过程中,又调用另一个函数。

例:add(add(a,b),c);

2.可以在函数的定义中调用另一个函数。

//加函数 int add(int x, int y){return x+y;}//减函数 int sub(int x,int y){return sub(add(x,y),z);}

例:从键盘输入三个数a,b,c,用函数嵌套调用

计算a+b-c

a*b/c

(a+b)*c/d

a/b+c

#include<stdio.h>int add(int x,int y){return x+y;}int sub(int x,int y){return x-y;}int mul(int x,int y){return x*y;}int div(int x,int y){return x/y;}int main(){int a;int b;int c;int d;int ret;int ent;char ch; printf("请输入四个整数:"); scanf("%d,%d,%d,%d",&a,&b,&c,&d);getchar();printf("请输入一个运算符:");ch = getchar();switch(ch){case '+':ret = add(div(a,b),c);break;case '-':ret = sub(add(a,b),c);break;case '*':ret = mul(add(a,b),c);break;case '/':ret = div(mul(a,b),c);ent = div(mul((add(a,b)),c),d);break;default:printf("输入不合法\n");}printf("所得的值为:%d\n",ret);printf("除d所得的值为:%d\n",ent);return 0;}

在上面这道题中,就充分的将函数嵌套的调用展现出来,函数双嵌套,函数多嵌套。运用switch将格式符打出来,可以实现计算器加减乘除。

二、函数的递

归调用

定义:调用一个函数的过程中又出现直接或间接地调用该函数本身。

递归就是一个函数在它的函数体内调用本身。递归函数必须有结束条件。

当函数一直在递推,知道遇到墙之后,这个墙就是结束条件。

递归要有两个要素,结束条件和递推关系。

以下有几个例题分享给大家:

例:有5个学生坐一起,第五个比第四个大2岁,第四个比第三个大2岁...最后第一个学生说他是10岁,请问第5个学生多大?

#include<stdio.h>int age(int a){int b;b = 10+(2*a);return b;}int main(){int c = 4;printf("第五个学生:");printf("%d岁",age(c));return 0;}

先理解题目,5位同学,前面的都是一个比一个小两岁,自然最后一位是最小的,使用调用函数定义a,b就是第五位学生的年龄,b = 10 + (2*a),就将第五位同学年龄就得出来了,用return

将他的值返回给主调函数,打印就好啦。

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