#include<stdio.h> int Fib(int n) { int f0=0,f1=1,f,i; if(n==0||n==1) { return n; } for(i=2;i<=n;i++) { f=f0+f1; //由前两步结果推出当前结果 f0=f1; //原前一步当作下一次的前两步 f1=f; //当前结果当作下一次的前一步 } //在进行向前传递时,要注意传递的时序 return f; } void main() { int n=7; printf("Fib(%d)=%d\n",n,Fib(n)); }