2014-01-12 2 views
-3

다음 코드를 수정하여 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; 
} 
+2

아무 것도 시도해 보셨습니까? –

+1

@ Martin Wun : 먼저 포인터 개념을 온라인에서 읽지 않는 이유는 무엇입니까? – Sumeet

+1

왜 포인터가 필요한지 설명해 주시겠습니까? 그것은 더 나은 답변으로 이어질 수 있습니다. – juanchopanza

답변

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; 
} 
+0

물고기를주세요 ... – qrdl

관련 문제