求斐波那契数列并存储在指定的内存单元中
时间: 2024-05-15 19:14:54 浏览: 55
以下是一个求斐波那契数列的示例代码,将结果存储在指定的内存单元中:
```
int fibonacci(int n, int* result)
{
if (n < 0)
{
return -1; // 输入不合法
}
if (n == 0)
{
*result = 0;
return 0;
}
if (n == 1 || n == 2)
{
*result = 1;
return 0;
}
int a = 1, b = 1;
for (int i = 3; i <= n; i++)
{
int c = a + b;
a = b;
b = c;
}
*result = b;
return 0;
}
```
使用方法:
```
int main()
{
int result;
int n = 10;
int ret = fibonacci(n, &result);
if (ret == 0)
{
printf("第%d个斐波那契数是:%d", n, result);
}
else
{
printf("输入不合法");
}
return 0;
}
```
在这个示例中,我们将指向结果的指针作为参数传递给 `fibonacci()` 函数,该函数使用循环计算斐波那契数列的第 `n` 项,最终将结果存储在指定的内存单元中。如果输入不合法,函数将返回 -1。
阅读全文