2014 – 2

È dato il seguente programma:

#include 

int f[10];
int i;

int main()
{
   f[0]=5;
   f[1]=3;
   for(i=0; i < 8; i++)
      f[i+2]=f[i]-f[i+1];
   for(i=0; i < 10; i++)
      printf("%d, ", f[i]);
}

Cosa viene visualizzato a video dall'esecuzione di main()?

  1. 5, 3, 2, 1, 1, 0, 1, -1, 2, -3,
  2. 5, 3, 2, 1, 1, 1, 0, -1, 2, -3,
  3. 5, 3, 2, 1, 1, 0, 0, -1, 2, -3,
  4. 5, 3, 2, 1, 1, 0, 1, -1, -2, -3,

Soluzione: a (5, 3, 2, 1, 1, 0, 1, -1, 2, -3,)


Prima del for

5 3 0 0 0 0 0 0 0 0

I passi del for

  1. (5-3=2): 5 3 2 0 0 0 0 0 0 0
  2. (3-2=1): 5 3 2 1 0 0 0 0 0 0
  3. (2-1=1): 5 3 2 1 1 0 0 0 0 0
  4. (1-1=0): 5 3 2 1 1 0 0 0 0 0
  5. (1-0=1): 5 3 2 1 1 0 1 0 0 0
  6. (0-1=-1): 5 3 2 1 1 0 1 -1 0 0
  7. (1-(-1)=2): 5 3 2 1 1 0 1 -1 2 0
  8. (-1-2=-3): 5 3 2 1 1 0 1 -1 2 -3