ESPRESSIONE CONDIZIONALE
Il linguaggio C offre anche un'espressione condizionale avente forma
EXPRESSION1 ? EXPRESSION2 : EXPRESSION3
- EXPRESSION1
-
è un'espressione di tipo intero (ricordare che il C non ha il tipo
booleano, e che tale tipo è simulato con il tipo intero)
- EXPRESSION2 ed EXPRESSION3
- sono due espressioni aventi lo stesso tipo (senza restrizioni su tale
tipo)
Se il valore di EXPRESSION1 è diverso da 0, allora il
valore di tale
espressione è il valore di EXPRESSION2, altrimenti quello di
EXPRESSION3.
ESEMPIO
#include <stdio.h>
/* calcola il massimo fra tre numeri */
main(){
float a,b,c;
scanf("%f %f %f",&a, &b, &c);
printf("Il massimo tra %f, %f e %f e\' %f.\n",a,b,c,
(a > b) ? ( (a > c) ? a : c) :
( (b > c) ? b : c ));
}
ESERCIZIO
- Modificare i programmi visti precedentemente utilizzando, quando
possibile, il costrutto di espressione condizionale.