Corsi di Laurea
ROX @ Unisa - Forum degli studenti di Ingegneria utilizza i cookie. Se prosegui la navigazione accetti il loro uso.
Accetto l'uso dei cookie
ragazzi ma che cambia negli esercizi sulle regole di scope quando in una funzione il paramentro è passato per riferimento???
tipo come è uscito nella prova di giugno
int a=-1, b=3;
A:{
int a=4, c=-3;
void pippo(reference* int e){
e=a+b+c;
}
B:{
int c=3, d=-1, e;
e=a+b+c+d;
write(e);
pippo(e);
write(e);
}
}
Enrì lo scope dinamico mi trovo xfettamente cm te ma lo statico mi trovo 4 e 4 dove sbaglio???
P.S. relativo al blocco B mi trovo cm variabili locali c, d, e mentre cm variabili nn locali a, b è corretto? (di a nn sn convinta nn so se è nn locale o globale)
scs san (so benissimo ki 6 ) ma qnd io sto nel blocco B e devo fare e=a+b+c+d
c=3, d=-1 e b=3 e fin qui nn ci piove poi la a nn deve essere =-1 visto ke qll del blocco A si distrugge all'uscita del blocco???
int x=1, y=-3
A:{
int x=4, z=-3;
void pluto(reference int k) {
k=x+y-z;
}
B:{
int z=3, w=-1, k;
k=(x+y-z)*w;
write(k);
pluto(k);
write(k);
}
}
int x=1, y=-3
A:{
int x=4, z=-3;
void pluto(reference int k) {
k=x+y-z;
}
B:{
int z=3, w=-1, k;
k=(x+y-z)*w;
write(k);
pluto(k);
write(k);
}
}
cioè avevo sbagliato a fare prp i calcoli matematici non lo scope in sè wow e ke bell'ingegnere ke sono grazie 6 stato gentilissimo
No no io mi trovo xfettamente cn corrado grz ancora
Secondo me quando è dinamico stampa 9 e 10, 9 e 4 se statico... comunque per rispondere a walter: cambia che se passato per riferimento viene modificato il valore di quella variabile, mentre se passato per valore viene copiato il valore destro in un'altra variabile e quindi all'uscita della funzione (nell'esempio "pippo") hai il vecchio valore di "e" e non quello aggiornato con la chiamata di pippo.
0 members, 1 guests, 0 anonymous users