无名商城论坛

搜索
查看: 329|回复: 0

[技术教程] 【教程】小白易懂的C语言入门~第十六课

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
32464
发表于 2022-5-8 14:19:09 | 显示全部楼层 |阅读模式
------------------------------
今天我们来讲一个函数的使用方法[滑稽]
【文字教程】第十六课:递归

第一步:
递归的定义:如果定义一个函数要使用到这个函数本身,我们称为递归(百度可以搜到[狂汗])

大家看定义肯定不懂,楼主来出一个例子,看例子大家应该就能懂了。[呵呵],图1

我们先定义一个函数factorial,为什么这里用int型,因为后面main函数里面直接输出factorial的值[呵呵]
我们可以看到判断,如果n等于0,则返回1,否则,则再定义recurse使用factorial函数,这里就是递归

然后我们再定义result等于n乘以recurse,返回result的值
看到打印的结果应该就知道这里是阶乘,什么是阶乘?自己翻数学书吧[酷]
我们可以看到图片上面的那个注释,Base Case,基础条件,如果没有这个if语句的话,这个函数会无限运行,因为n-1无休止,最后会导致系统崩溃,所以我们这里需要定义一个结束性语句,让结果始终是有限个。

今天的内容不多,为什么要讲递归了,相信一部分人已经看到类似的了,这个与循环很像[酷]
是的,没错,明天讲循环[真棒]

今天的亮点是题目:
编写一个递归函数求两个正整数a,b的最大公约数,给大家提供一个思路。[勉强]
1,如果a除以b能整除,则最大公约数是b。
2,否则,最大公约数等于b和a%b的最大公约数。

最后,求关注[酷][玫瑰][玫瑰]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表