完成实现后的函数返回输入(C ++)

时间:2014-12-24 03:25:42

标签: c++ function fibonacci

我打印了在main()中调用函数的Fibonacci数字:

cout << Fibonacci(HowMany, LastOne) << endl;

功能本身是:

// function definition
unsigned long long Fibonacci(int InHowMany, char InLastOne)
{
    // assigning two initial numbers
    unsigned long long Num1 = 0, Num2 = 1; 

    // choosing the loop based on the user's choice of LastOne
    if(InLastOne == 'p')
    {   
        // printing the initial two values
        cout << "0" << endl;
        cout << "1" << endl;
        // iterating to print all the other values
        for (int i = 1; i < InHowMany; ++i)
        {
            unsigned long long Num2Temp = Num2;
            Num2 += Num1;
            Num1 = Num2Temp;
            // printing every value on the way with this instruction
            cout << Num2 << endl;
        }
    }
    // case when we just need to print the last number
    else if(InLastOne != 'p')
    {
        for (int i = 1; i < InHowMany; ++i)
        {
        unsigned long long Num2Temp = Num2;
        Num2 += Num1;
        Num1 = Num2Temp;
            // return condition
            if(i == InHowMany - 1)
            {
                return Num2;
            }
        }
    }   
}

所以它有效,但不知怎的,它总是在程序的最后返回HowMany \ InHowMany数字。我知道这可能(虽然,我不确定)发生在循环之外,因为我尝试了COUTing一些随机字符串并且HowMany \ InHowMany出现在它之后......

0 个答案:

没有答案