betrachten die FunktionWert der Variablen auf rekursiven Aufruf einer Funktion
void solve(int arr[],int ind,int sum,int n,int count)
{
if(ind==n){
if(sum>max)
max=sum;
}
else{
sum+=arr[ind];//sum
if(ind==n-1)
solve(arr,ind+1,sum,n,1);//1st call
if(ind==n-2 && count>1)
solve(arr,ind+2,sum,n,1);//2nd call
if(ind<n-1 && count<2){
count++;
solve(arr,ind+1,sum,n,count);//3rd call
}
if(ind<n-2)
solve(arr,ind+2,sum,n,1);//4th call
if(ind<n-3)
solve(arr,ind+3,sum,n,1);//5th call
}
}
Ich habe kein Problem über die Logik, aber ich bin verwirrt über die Verabschiedung des variables.I bin nicht in der Lage herauszufinden, ob die ganze Zahl zu machen sum+=arr[ind] //sum
wird bei jedem Aufruf als gleiche Variable übergeben oder nach jedem Aufruf der Funktion aktualisiert?
Thnx..Ich habe die Antwort ich gues ... aber @ user3386109 was meinst du mit C++ Antwort .... ist es anders in c? – yobro97
Referenzen sind eine C++ - Funktion. In C würden Sie einen Zeiger verwenden. – user3386109
Ok ... verstanden! – yobro97