2008 – 3

Quanto vale la variabile x alla fine dell’esecuzione?

int foo(int a, int b)
{
    return b-a;
}

main()
{
    int a=3,
        b=5,
        x=0;
    x=foo(b, a)+a-b;
}

Risposte:

  1. 0
  2. 2
  3. -4
  4. nessuna delle precedenti.

Soluzione: c (-4).


Alla chiamata della funzione foo() i parametri attuali sono (b, a) quindi (5, 3).
La funzione associa i valori (5, 3) ai parametri attuali (a, b) e restituisce b-a cioè 3-5=-2.

Nel main()

  • x=foo()+a-b;
  • x=-2+3-5;
  • x=-4;