2014 – 1

È dato il seguente programma:

#include 

void main() 
{
   int i, c;
   c=0; 
   i=0;
   while(i < 100)
   {
      c++;
      if(c%2 != 0)
         i++;
      else
         i=i+c;
   }
   printf("c=%d\n", c);
}

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

  1. il ciclo while non termina mai, quindi non viene visualizzato nulla
  2. c=19
  3. c=18
  4. c=17

Soluzione: b (c=19)


Osserva i valori successivi di c e i

c i
0 0
1 1
2 1+2=3
3 4
4 4+4=8
5 9
6 9+6=15
7 16
8 16+8=24
9 25
10 25+10=35
11 36
12 36+12=48
13 49
14 49+14=63
15 64
16 64+16=80
17 81
18 81+18=99
19 100

Quando i raggiunge il valore 100 il valore di c è 19.