递归是什么举个通俗例子和C语言例子
递归是指在一个函数的定义中调用该函数本身的过程。
通俗例子: 假设你去买一块巧克力,店员告诉你巧克力的价格是10元。你发现你的零钱正好只有10元,于是你向店员购买了一块巧克力。然后你吃掉了这块巧克力,但这时你又发现自己还是很想吃巧克力,于是你又向店员购买了一块巧克力。这个过程可以一直重复下去,直到你的零钱不够买巧克力为止。
C语言例子:
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int number = 5;
int result = factorial(number);
printf("Factorial of %d is %d\n", number, result);
return 0;
}
上述例子中,定义了一个名为factorial的函数,用于计算一个数的阶乘。当函数的参数n为0时,函数返回1;否则,函数返回n乘以调用自身的结果,即n-1的阶乘。在主函数中,通过调用factorial函数计算5的阶乘,并输出结果。在这个过程中,factorial函数不断调用自身,直到n为0为止。
原文地址: http://www.cveoy.top/t/topic/i6zp 著作权归作者所有。请勿转载和采集!