Passaggio dei parametri

di Anonimizzato19712 il
1 risposte
Ciao ragazzi, qualcuno mi può aiutare con il seguente esercizio?

Dato il seguente programma in un linguaggio non meglio identificato, indicare cosa stampa il programma nel caso di:

1. parametri passati per valore;

2. parametri passati per riferimento;

3. parametri passati per valore-risultato


int x=1;
int w = 3;
int z= 10;

int f(int y){
y=20;
throw E;
return (x++) + y; 
}

int g(int y){
y=100;
try{
  throw E;
  }
  catch E{ }
  
  return (x++) + y;
}

try{
   f(w);
   }
    catch E{ }
    print (x,w,z);
    z = g(w);
   print (x,w,z); 

Io ho svolto l'esercizio nel seguente modo ma non sono sicura che sia corretto:

passaggio per valore:
il primo print stampa 1,3,10
il secondo print stampa 2,3,10

passaggio per riferimento
il primo print stampa 2,20,10
il secondo print stampa 3,100,102

passaggio per valore-risultato
il primo print stampa 2,20,10
il secondo print stampa 4,100,103


mi sapreste dire se è corretto o eventualmente quali errori ho commesso? Grazie!

1 Risposte

  • Che c'entra il C++? Non è quello che più si avvicina, perché il C++ non ha il valore-risultato. Hai sbagliato sezione

    Comunque l'unica risposta razionale è "non mi posso esprimere" . In "un linguaggio non meglio identificato" "+" potrebbe essere la moltiplicazione e "throw" un tipo, eccetera... la risposta corretta la sa solo il prof
Devi accedere o registrarti per scrivere nel forum
1 risposte