È dato il seguente programma:
#includeint i, c; main() { c=0; i=0; while(i < 100) { c++; if(c%2 != 0) i++; } printf("c=%d\n", c); } Cosa viene visualizzato a video dall'esecuzione di main()?
- c=100
- c=101
- c=199
- il ciclo while non termina mai, quindi non viene visualizzato nulla.
Soluzione: c (c=199)
Osserva
c | i |
0 | 0 |
1 | 1 |
2 | 1 |
3 | 2 |
4 | 2 |
5 | 3 |
6 | 6 |
... | ... |
n | 2(n-1)+1, per n dispari 2n, per n pari |
... | ... |
198 | 99 |
199 | 100 |
Quando i=100 il ciclo termina e c=199.