在C中打印最大为n的斐波那契数

在C中打印最大为n的斐波那契数,c,fibonacci,C,Fibonacci,下面的代码使用用户定义函数打印斐波那契数,由用户选择。唯一的问题是输出包括前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("Fibonac

下面的代码使用用户定义函数打印斐波那契数,由用户选择。唯一的问题是输出包括前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;
}
#包括
int fibonacci(int a);
int main()
{
int j,数字;
printf(“输入术语编号:”);
scanf(“%d”和编号);
printf(“斐波那契级数:”);
j=斐波那契(数字);
printf(“%d”,j);
}
整数斐波那契(整数a)
{
int num1=1,num2=1,k,i;
对于(i=1;i
我了解到,在使用main以外的函数时,我们应该返回一些东西

如果你学会了这一点,你应该寻找更好的学习来源。你完全可以写:

void 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;
    }
}

void fibonacci(int a)
{
int num1=1,num2=1,k,i;

对于(i=1;i您从fibonnaci调用中向j返回一个0,然后打印0。删除printf调用,然后将其删除。或者更好的是,不要返回任何内容,因为它不存在。i返回num1,这产生了正确的结果。哦,好吧。您真的了解您在做什么吗?为什么
fibonacci
函数返回一个值?似乎你不需要返回任何东西,但你不知道“返回类型”。请不要编辑你的问题以包含修复,而是回答你自己的问题。这就是本网站的工作方式。