Si consideri il seguente frammento di programma:
int r, c, s; printf("Inserisci un numero intero compreso fra -10000 e 10000: "); scanf("%d", &r); c=1; c=r*c; s=1; if(c <= r) { s=s+c; c=c*2; } printf("La variabile s vale %d\n", s);Quale delle seguenti affermazioni è vera?
- Viene visualizzata la somma di tutti i numeri da 1 fino a r+1
- Viene visualizzato il valore r+1
- Viene visualizzato il valore r+1 solo se r >= 1
- Viene visualizzato il valore 2r+1
Soluzione: b (viene visualizzato il valore r+1).
Osserva
- c = 1
- c = r*c = r*1 = r
- s = 1
- (c <= r) = (r <= r): Sì
- s = s+c = 1+r
- c = c*2 = r*2