用递归和非递归求第n个

#include <stdio.h>

int fib1(int num)
{
if (num <= 2)
{
return 1;
}else
{
return fib(num-1)+fib(num-2);
}
}
  

int fib2(int num )
{
int a = 1;
int b = 1;
int c = 0;
while (num-2>0)
{
c = a+b;
a = b;
b = c;
num--;
}
return c;
}

int main()
{
int num = 4;
int ret = 0;
ret = fib2(num);
printf("%d\n",ret);
return 0;
}