È 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()?
- il ciclo while non termina mai, quindi non viene visualizzato nulla
- c=19
- c=18
- 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.