如何将函数参数更改为point?

时间:2014-01-12 10:11:56

标签: c++ pointers recursion

我想修改以下代码,将Input更改为指针。 但保留递归功能。

int FunctionA(int Input)
{
    int Output;
    if (Input == 1)
        return 1;
    if (Input < 1)
        return -1;
    Output = Input + FunctionA(Input-1);
    return Output;
}

如何修改代码?

我试图修改如下,但我想知道有没有更好的方法。

int a, Output = 0;
a = *Input;
cout << a <<endl;
for(int i = 0; i < a; i++)
{
    Output = Output + i + 1;
}

1 个答案:

答案 0 :(得分:1)

可能是以下情况?

int FunctionA(int *Input)
{
    int Output, InputRec;
    if (*Input == 1)
        return 1;
    if (*Input < 1) 
        return -1;
    InputRec = *Input - 1;
    Output = *Input + FunctionA(&InputRec);
    return Output;
}