I programmatori usano l’operatore ternario per il processo decisionale al posto di istruzioni condizionali if e else più lunghe.
L’operatore ternario prendere tre argomenti:
- Il primo è un confronto di argomento
- Il secondo è il risultato su un confronto vero
- il terzo è Il risultato su un falso confronto
aiuta a pensare l’operatore ternario come una scorciatoia o scrivere un if-else., Ecco un semplice esempio decisionale che utilizza if ed else:
int a = 10, b = 20, c;if (a < b) { c = a;}else { c = b;}printf("%d", c);
Questo esempio richiede più di 10 righe, ma non è necessario. Puoi scrivere il programma sopra in sole 3 righe di codice usando un operatore ternario.
Sintassi
condition ? value_if_true : value_if_false
L’istruzione valutavalue_if_true
secondition
è soddisfatta evalue_if_false
altrimenti.,
Ecco l’esempio di cui sopra riscritto per utilizzare l’operatore ternario:
int a = 10, b = 20, c;c = (a < b) ? a : b;printf("%d", c);
Output dell’esempio di cui sopra dovrebbe essere:
10
c
è impostata su a
perché la condizione a < b
era vero.
Ricorda che gli argomentivalue_if_true
evalue_if_false
devono essere dello stesso tipo e devono essere espressioni semplici piuttosto che istruzioni complete.
Gli operatori ternari possono essere nidificati proprio come le istruzioni if-else., Considera il seguente codice:
int a = 1, b = 2, ans;if (a == 1) { if (b == 2) { ans = 3; } else { ans = 5; }} else { ans = 0;}printf ("%d\n", ans);
Ecco il codice sopra riscritto usando un operatore ternario nidificato:
int a = 1, b = 2, ans;ans = (a == 1 ? (b == 2 ? 3 : 5) : 0);printf ("%d\n", ans);
L’output di entrambi i set di codice sopra dovrebbe essere: