在C中递归计算Fibonacci数
发布时间:2020-12-16 10:52:12 所属栏目:百科 来源:网络整理
导读:我正在尝试通过编写一个简单的程序来输出Fibonacci数来学习C.它不起作用. fibonacci.h unsigned int fibonacci_recursive(unsigned int n); fibonacci.c #include stdio.h#include "fibonacci.h"main() { unsigned int i; for (i = 0; i 10; i++) { printf("
我正在尝试通过编写一个简单的程序来输出Fibonacci数来学习C.它不起作用.
fibonacci.h unsigned int fibonacci_recursive(unsigned int n); fibonacci.c #include <stdio.h> #include "fibonacci.h" main() { unsigned int i; for (i = 0; i < 10; i++) { printf("%dt%n",fibonacci_recursive(i)); } getchar(); } fibonacci_recursive.c unsigned int fib_rec(unsigned int n); main(unsigned int n) { return fib_rec(n); } unsigned int fib_rec(unsigned int n) { if (n == 0) { return 0; } if (n == 1) { return 1; } return fib_rec(n - 1) + fib_rec(n - 2); } 这是我尝试构建项目时VS 2010给出的错误消息: 1>ClCompile: 1> fibonacci_recursive.c 1>fibonacci_recursive.obj : error LNK2005: _main already defined in fibonacci.obj 1>fibonacci.obj : error LNK2019: unresolved external symbol _fibonacci_recursive referenced in function _main 1>c:usersodpdocumentsvisual studio 2010ProjectsFibonacciDebugFibonacci.exe : fatal error LNK1120: 1 unresolved externals 1> 1>Build FAILED. 1> 我在这做错了什么?感谢您帮助C新手. 解决方法
你的方法看起来很奇怪,你应该:
>一个主文件(例如main.c),包含main方法,包括fibonacci.h 实际上你也定义了两次主函数.. main.c中 #include <stdio.h> #include "fibonacci.h" main() { unsigned int i; for (i = 0; i < 10; i++) { printf("%dt%n",fibonacci_recursive(i)); } getchar(); } fibonacci.h unsigned int fibonacci_recursive(unsigned int n); fibonacci.c #include "fibonacci.h" unsigned int fibonacci_recursive(unsigned int n) { if (n == 0) { return 0; } if (n == 1) { return 1; } return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |