【发布时间】:2020-03-01 23:58:18
【问题描述】:
以下代码使用用户定义函数来打印用户选择的斐波那契数。唯一的问题是输出包括前 n 个斐波那契数,后跟一个零。 (例如 1,1,2,3,5,8,0)我怎样才能摆脱零?
#include <stdio.h>
int fibonacci(int a);
int main()
{
int j, number;
printf("Enter the number of terms: ");
scanf("%d", &number);
printf("Fibonacci Series: ");
j = fibonacci(number);
printf("%d", j);
}
int fibonacci (int a)
{
int num1 = 1, num2 = 1, k, i;
for (i = 1; i <= a; ++i)
{
printf("%d, ", num1);
k = num1 + num2;
num1 = num2;
num2 = k;
}
return 0;
}
【问题讨论】:
-
您从 fibonnaci 调用中将零返回给 j,然后打印 0。删除 printf 调用并摆脱它。或者更好,不要返回任何东西,因为没关系
-
我返回了 num1,这产生了正确的结果。哦,好吧。
-
你真的明白自己在做什么吗?
-
为什么你的
fibonacci函数会返回一个值?似乎您不需要返回任何内容,但您不知道“返回类型”。 -
请不要编辑您的问题以包含修复程序,而是回答您自己的问题。这就是这个网站的运作方式。