函数的嵌套调用与递归调用

函数的嵌套调用与递归调用

嵌套调用

嵌套调用是指在函数A()中调用函数B(),在函数B()中又调用函数C(),诸如此类的复杂调用.

嵌套调用简单实例
#include <stdio.h>

//定义函数
int a1(int m) {
          
   
	printf("%d的平方值为:%d", m, m * m);
	return 0;
}
int a2() {
          
   
	int n;
	printf("请输入一个数字:");
	scanf_s("%d", &n);
	a1(n);
	return 0;
}

int  main(void) {
          
   
	a2();
}

a2函数中调用a1函数用于求输入整数的平方值. 结果如图:

递归调用

递归调用是指一个函数直接或者间接的调用自己本身.如果一个函数直接调用自己叫直接递归,如果一个函数简介调用自己叫间接递归.

递归调用简单实例

求a的n次方:

#include <stdio.h>

//递归调用求a的n次方
double Pow(double a,int n) {
          
   	
	if (n == 0)  return 1;
	if (n == 1)  return a;
	return Pow(a, n / 2) * Pow(a, n - n / 2);
 }

int  main(void) {
          
   
	double a;
	int n;
	printf("求a的n次方值
");
	printf("输出a的值:");
	scanf_s("%lf", &a);
	printf("输出n的值:");
	scanf_s("%d", &n);
	printf("%.lf^%d = %.4f",a,n,Pow(a, n));
	return 0;
}

结果如图:

经验分享 程序员 微信小程序 职场和发展