@DingCao-HJJ
2015-08-29T07:38:35.000000Z
字数 505
阅读 1350
编程思想
c语言中的函数式编程,允许一个函数里面调用一个或多个函数, 例如:
void Bfun(int x) {printf("%d\n", x);}void Afun() {Bfun(3);printf("aaa");}
在上面的代码中Afun()调用Bfun(),必须要等Bfun()的所有语句都执行完了,才会执行Afun()中剩下的语句,所以结果是如下:
3aaa
而一个函数不仅可以调用别的函数,同时也可以调用自身(这个时候被调用函数参数一般和调用函数的参数不同),这种函数调用自身的编程思想我们就叫做递归。
举个例子:
void fun(int x) {if (x == 0) return;fun(x - 1);printf("%d\n", x);}
如果其他函数调用fun时最初传入的参数为5,那么程序将如下执行:
fun(2)内部:
x为2,非零,跳出判断;
执行fun(1) (fun(1)内部) {
x为1,非零,跳出判断;
执行fun(0) (fun(0)内部) {
x为零,返回;
}
打印x值,为1;
}
打印x值,为2;
}
希望大家对递归能有一个简洁明了的理解!
