手机
当前位置:查字典教程网 >编程开发 >C语言 >c语言的cps实现求fibonacci数列示例
c语言的cps实现求fibonacci数列示例
摘要:CPS:http://en.wikipedia.org/wiki/Continuation-passing_style示例代码使用迭代+尾递...

CPS:http://en.wikipedia.org/wiki/Continuation-passing_style

示例代码使用迭代 + 尾递归。

复制代码 代码如下:

#include <stdio.h>

typedef void (*END_OF_END)(unsigned long);

void fibonacci(int, unsigned long, unsigned long, void(*)(unsigned long));

void

notify(unsigned long res) {

printf("Ultimate result: %lun" res);

exit(0);

}

/* Note: Fibonacci number might overflow! */

void

fibonacci(int n, unsigned long v1, unsigned long v2, void(*notify)(unsigned long)) {

if (n <= 0) notify(v2);

fibonacci(n - 1, v2, v1 + v2, notify);

}

int

main(void) {

fibonacci(100 - 2, 1, 1, notify);

return 0;

}

【c语言的cps实现求fibonacci数列示例】相关文章:

C语言 实现N阶乘的程序代码

冒泡排序的三种实现方法

c语言中用位运算实现加法技巧介绍

C语言实现逆波兰式实例

在c和c++中实现函数回调

C语言 解压华为固件的实例代码

C语言数组指针的小例子

C语言编写银行打印程序实例参考

用C语言实现单链表的各种操作(一)

C语言之free函数以及野指针介绍

精品推荐
分类导航