利用C语言计算斐波那契数列
#include<stdio.h>
#include<malloc.h>
//用数组保存计算的斐波那契的值
int* fib(int n, int* str)
{
//初始化数组的str[0]、str[1]
str[0] = 0;
if (n == 0)
{
//防止初始化str[1],导致数组越界
return str;
}
str[1] = 1;
for (int i = 2; i <= n; i++)
{
str[i] = str[i - 1] + str[i - 2];
}
return str;
}
int main()
{
int n = 0;
scanf("%d", &n);
//利用malloc函数开辟动态内存
int* str = (int*)malloc((n + 1) * sizeof(int));
str=fib(n, str);
printf("%d", str[n]);
free(str);//释放开辟的内存
return 0;
}