Si consideri il seguente frammento di programma:
main() { int n, i, j, a=0, b=0; printf("Inserisci un numero intero: "); scanf("%d", &n); if(n < 0) n=-n; i=j=n; while(i > 0) { a+=1; i--; } do { b+=1; j--; } while(j > 0); printf("a=%d b=%d\n", a, b); }Cosa viene visualizzato a video dall’esecuzione di main() se alla domanda Inserisci un numero intero: viene inserito da tastiera il valore 100?
Cosa viene visualizzato a video dall’esecuzione di main() se alla domanda Inserisci un numero intero: viene inserito da tastiera il valore 0?
Soluzione:
- a=100 b=100
- a=0 b=1
Per a, b > 0 i due cicli si comportano allo stesso modo.
Per a, b = 0 il ciclo while() non esegue alcun passo mentre il ciclo do while() esegue comunque il primo passo.