我想修改以下代码,将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;
}
答案 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;
}