Dato il seguente codice
Var a: Integer; b: Integer; x: Integer; Function foo(a: Integer; b: Integer ): Integer; Begin foo:=b-a; End; Begin a:=3; b:=5; x:=0; x:=foo(b,a)+a-b; End.
Quanto vale la variabile x alla fine dell’esecuzione?
Risposte:
- 0
- 2
- -4
- nessuna delle precedenti.
Soluzione: c (-4).
Soluzione
Dobbiamo solo fare attenzione al fatto che le variabili a e b del programma principale vengono passate scambiate alla procedura foo().
Diventa a questo punto banale osservare che l’espressione calcolata risulta essere:x=(3-5)+3-5da cui si ricava che
x=-4.