首页
编程语言

分类

当前位置: 天天编程网 > 技术新闻 > 编程语言 >正文

用函数实现模块化程序设计三

更新时间:2024-11-12  作者:佚名   来源: 网络转载

用函数实现模块化程序设计三

函数的嵌套调用

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

用函数实现模块化程序设计三

如上执行过程:

  1. 执行 main 函数
  2. 遇到函数调用的语句,调用函数 a ,流程转到 a 函数
  3. 执行 a 函数
  4. 遇到函数调用的语句,调用函数 b ,流程转到 b 函数
  5. 执行 b 函数
  6. b 函数执行完毕,返回 a 函数,继续执行 a 函数
  7. a 函数执行完毕,返回 main 函数,继续执行 main 函数
  8. main 函数执行完毕,程序结束

函数的递归调用

在调用一个函数的过程中又出现直接或间接的调用该函数本身,称为函数的递归调用

C语言的特点之一就在于允许函数的递归调用

用函数实现模块化程序设计三

代码:


//f(x) = f(x - 1) + 2

#include <stdio.h>

int func(int index)
{
	if (1 == index)//递归结束条件
		return 10;

	return func(index - 1) + 2;//开始递归
}

int main(void)
{
	printf("%d
", func(5));

	return 0;
}

运行结果:

用函数实现模块化程序设计三

例:用递归法求 n!


//f(n) = f(n - 1) * n

#include <stdio.h>
#include <stdlib.h>

long long func(int n)
{
	if ((1 == n) || (0 == n))//递归结束条件
		return 1;

	return func(n - 1) * n;//开始递归
}

int main(void)
{
	int n;
	scanf("%d", &n);
	printf("%lld
", func(n));

	system("pause");
	return 0;
}

运行结果:

用函数实现模块化程序设计三

上一篇:由于网络延迟造成逻辑锁失败的问题 下一篇:由于网络延迟造成逻辑锁过期的问题
小编推荐
快速导航更多>>
JavaScript 教程 HTML5 教程 CSS3 教程 jQuery 教程 Vue.js 教程 Node.js 教程 SQL 教程 C 教程 PHP 教程 Linux 教程 Docker 教程 Nginx 教程 Python 教程 Java 教程

天天编程网 版权所有

陕ICP备2023002928号-1