Funzione "misteriosa"

ing_mecc
ciao raga... sono di nuovo qui... l'esame ... purtroppo.... ehm.... :oops: :oops: :-D vabbe dai ... non è andato.. :evil: :evil: :evil:

cmq un esercizio è questo...

Si consideri il seguente programma:

void Fa(int *k1, int *k2, int k3)

{*k1=*k2-k3; *k2=*k1; k3=k3+*k1;}

int main ()
{
int a, b, c;
scanf ("%d%d%d", &a,&b,&c);
Fa(&a,&b,c);
Fa(&c,&b,a);
printf ("a=%d, b=%d, c=%d\n", a,b,c);

return 0;
}


Che cosa stampa il progr. se l'imput è 1 3 2 ?

Si mostri come varia il contenuto delle variabili a, b, c in seguito alle due chiamate di funzione Fa.

Ecco... chi mi può gentilmente spiegare ??? grazie raga... se passate per Treviso vi offro un prosecco.. :-D :-D

Risposte
anonymous_be1147
Stampa
a=1, b=0, c=0


Come cambiano le variabili:
a  b  c  |  Fa(&a, &b, c)                          | Fa(&c, &b, a)
---------------------------------------------------------------------------------------------
1  3  2  | a =(b-c)=3-2=1; b=a=1; c invariata (=2) | c=(b-a)=1-1=0; b=c=0; a invariata (=1) |
---------------------------------------------------------------------------------------------


Edit: dimenticavo... sono astemio, magari un Tiramisù... :-D
Edit_2: avevo usato un input differente (1, 2, 3)

ing_mecc
ok... vada per il tiramisu.... :-D :-D grazie mille...

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.