Sono di fronte a un problema davanti alla simulazione di questo codice su una lista in C
int f(int *a, int i, node *lis)
{ int x;
if (lis == NULL) return(0);
else if (lis->data > i)
{*a=(*a)+1; printf(“%d”,*a); return(f(a,i+1,lis->next));}
else if (lis->data <i)
{x=f(a,i,lis->next); *a=(*a)+x; printf(“%d”,*a); return(x);}
else return(*a);
}
si inizia
x=0;
y=1
z=5;
--------
la funzione
a=0;
i=1;
L1=4;
x;
questo primo passaggio stampa 1 , poi
a=0;
i=1;
L1=2;
x;
sto andando bene?Spero che risponda qualcuno perhè è importante!
|